Two goals in the first 13 minutes from Fabinho and Mohamed Salah gave the European champions a dream start before Sadio Mane's diving header early in the second half sealed City's fate.
Bernardo Silva pulled a late goal back but a third defeat in eight league games leaves City down in fourth, nine points behind Liverpool, and with a mountain to climb if they are to claim a third straight league title.
City's defensive deficiencies have been much publicised without the injured Aymeric Laporte so far this season and they crumbled as Liverpool scored with their first two attacks of the game.
But the visitors were furious with some justification at the move that led to the opening goal when a dangerous foray into the Liverpool box ended with the ball striking Trent Alexander-Arnold on the arm.
Instead of City being awarded a penalty, the hosts broke down the other end and the ball fell to Fabinho on the edge of the area.
The Brazilian is not renowned for his goalscoring, but when invited to shoot by a hesitant City back line five minutes in, he arrowed a strike beyond stand-in goalkeeper Claudio Bravo.
The visitors had their chances to get level in between Liverpool's early blitz as Raheem Sterling headed wide Kevin De Bruyne's in-swinging free-kick.
But it was Liverpool who were ruthless as a pinpoint cross by Andy Robertson was headed home on the bounce by Salah.
Liverpool were then camped inside their own half, but held out for what could prove to be a vital win come May.