The Reds controlled the early proceedings but it took until four minutes before the interval for them to break the deadlock.
Salah motored into the Fulham box after Trent Alexander-Arnold unleashed the winger down the right side, with the Egyptian finishing past Sergio Rico from close-range.
Liverpool doubled their advantage just eight minutes into the second half, as an unmarked Shaqiri volleyed home into the back of the net after an inviting cross from Andy Robertson.
Liverpool 2-0 Fulham
‣ 1-0: Mohamed Salah - 41′
‣ 2-0: Xherdan Shaqiri - 53′
Liverpool started the game well, creating their first chance within five minutes as Alexander-Arnold's pass was met by Sadio Mane, who scuffed his shot wide.
Shaqiri then sent a powerful strike from outside the box wide as the Reds ramped up the pressure in front of an otherwise quiet Anfield crowd.
The Swiss international then linked up with Firmino and Salah to open Fulham up, however Rico came off his line to smother the Egyptian's shot from close range.
Despite Liverpool's early dominance, it was Fulham who could have almost taken the lead, as Ryan Sessegnon beat Gomez and drove into the box, only to fire wide of the Reds' goal.
In a dramatic 41st minute, the Reds finally took the lead, however it was Fulham that had the ball in the back of the net first.
Aleksandar Mitrovic headed in Tom Cairney's cross past Alisson, only for the goal to be disallowed, prompting the Brazilian to take a quick free-kick to Alexander-Arnold.
The youngster slid a forward pass to Salah, who sprung in behind the Fulham backline to slot home his eight goal of the season past Rico and put the Reds 1-0 up heading into the break.
Mane went close to doubling the Reds' advantage with a long-range drive that was met by Rico, before Shaqiri scored Liverpool's second.
After good work from Virgil van Dijk and Fabinho, Robertson put in an excellent cross to the back post for Shaqiri to coolly side-foot a volley into the bottom left corner.
Robertson could've gotten the Reds' third as he tested Rico from Firmino's inviting pass, but the goalkeeper was equal to the effort.
The Reds' now depart to all over the globe for the last international break of the year, unbeaten and sitting on 30 points in the Premier League.
Liverpool: Alisson; Alexander-Arnold, Gomez, Van Dijk, Robertson; Fabinho (Keita 90+2′), Wijnaldum (Henderson 69′); Shaqiri (Milner 81′), Firmino, Mane; Salah.
This video is no longer available.