It was an encouraging start from the Reds, who looked more dangerous than in recent months at Anfield, with chances coming for all of the front three.
But despite their dominance, Jurgen Klopp's side were unable to find an opener as their barren run at home looked set to continue with another frustrating afternoon.
The visitors took advantage of the Reds' lack of goalscoring touch and went 1-0 ahead just before the break via an Ollie Watkins strike at the edge of the box.
Liverpool thought they had found an equaliser in added time of the first half through a close-range Firmino effort, but VAR controversially ruled the goal out for offside by Diogo Jota in the build-up.
Nonetheless, the Reds pushed for a leveller at the start of the second half and they found their elusive open-play goal at Anfield through Mohamed Salah, who tucked the ball home to make it 1-1 after Andy Robertson's shot was palmed into his path.
The Reds finally found the elusive second goal in added time as Trent Alexander-Arnold struck from the edge of the box and curled the ball home to give the Reds a much-needed 2-1 victory, their first at Anfield in nine games.