The Reds went into the early kick-off at Anfield looking to bounce back from their defeat against Red Star Belgrade in midweek.
Jurgen Klopp's side dominated possession in the first-half, but went ahead in dramatic fashion in the closing stages of the half.
Fulham thought they took the lead via Aleksandar Mitrovic, who headed past Alisson from a Tom Cairney cross.
However, the linesman signalled for offside, prompting the Reds goalkeeper to take a quick free-kick to Trent Alexander-Arnold, who released Mohamed Salah on the right wing.
The Egyptian motored into the Fulham box and finished past Sergio Rico to put the Reds 1-0 up, just 14 seconds after the visitors' offside goal.
Liverpool then took the lead minutes after the interval, with Andy Robertson whipping in a beautiful cross from the left that was met by Shaqiri.
The Swiss international was unmarked in the box and provided a cool finish into the bottom left corner to double the Reds advantage.