City could only draw 1-1 at Southampton on Saturday and Jurgen Klopp’s men took advantage, winning the first of two games in hand they have on the defending champions.
Virgil van Dijk headed the visitors in front after eight minutes and Alex Oxlade-Chamberlain doubled the lead just after the half hour mark. Odsonne Edouard made it 2-1 just after the break but Fabinho’s late penalty made the game safe.
Heading into the match on a high after beating Arsenal to reach the Carabao Cup final, Liverpool had the game’s first chance when Jordan Henderson called Vicente Guaita into action. Shortly after, Van Dijk headed in a powerful effort from a corner that gave Guaita no chance.
Klopp’s side won 7-0 on their last visit to Selhurst Park and Palace must have had a familiar sinking feeling as Liverpool dominated the early exchanges.
Fabinho was the next to go close, firing over the bar from inside the area, before Liverpool made their dominance count with the second. Oxlade-Chamberlain was given far too much space in the area and smashed a left-footed effort home.
Jean-Philippe Mateta came close for Palace just before the break but Alisson did well to divert the ball for a corner and Liverpool cleared.
Conor Gallagher nodded wide from close range and Edouard’s backheel soon after was well saved by Alisson as Palace started the second period brightly.
They got the goal their pressure deserbed on 55 minutes when Edouard tapped in after Mateta broke through and squared it, but despite facing late pressure, Liverpool held on.
The game was then made safe when Fabinho converted from the spot after a lengthy VAR check ruled that Diogo Jota was felled in the area by Guaita.