The Reds have now won their past five home league games against City, and took an early lead thanks to Alex Oxlade-Chamberlain.
City did peg the hosts back, before a second-half blitz from the Reds saw the score go from 1-1 to 4-1 in a very short spell.
Pep Guardiola's side would get two goals back in the dying minutes but Liverpool clung on for a vital win.
Liverpool have struggled for early goals at times this season, something Alex Oxlade-Chamberlain put right with a magnificent early strike.
Taking the ball off Roberto Firmino's toes in midfield, he drove past Fernandinho before unleashing a powerful driven shot from 25 yards out, the ball crashing into the bottom left hand corner with Ederson well beaten.
The Reds' high-tempo game was upsetting City as the visitors searched for controlled possession, chances sporadic for Pep Guardiola's side as Geoerginio Wijnaldum marshalled Kevin de Bruyne in midfield.
City level up
However, they would eventually fashion a chance to snatch an equaliser before the break, Leroy Sane levelling up.
Joe Gomez misread the flight of a cross-field ball allowing Sane to move past him as he brought the pass down, before dipping back outside the recovering full-back and hammering the ball into the net at Loris Karius' near post, the German 'keeper disappointed to have been beaten in such a fashion.
That goal seemed to rock Liverpool a little, City coming out on top in the second-half and dominating the ball, Liverpool unable to show the aggression that they had early on.
Nicolas Otamendi came closest to making it 2-1, his header from a corner bouncing off the top of the bar.
All that meant that Roberto Firmino's goal came as a surprise, the Brazilian latching onto Oxlade-Chamberlain's pass, outmuscling John Stones and dinking the ball over the on-rushing Ederson with huge calmness.
Buoyed by that strike, Liverpool had the wind back in their sails and were advancing again upon the City goal once more, Sadio Mane in on the act as he smashed a left-footed strike high into the corner.
Suddenly 3-1 down against the run of play, the visiting side were rocked and you could tell, the City defence losing their calm manner in a way we've rarely seen this season.
Ederson evidenced that as he raced out to clear a ball and swept it away under cries from Kyle Walker to hit it short, Mohamed Salah taking advantage as he brought the clearance down and proceeded to ping it back over the Brazilian's head and in for 4-1.
After Sevilla's shock Champions League comeback less than two months ago, Liverpool fans knew more than anyone that the game wasn't done, something City proved.
City make a contest of it
It took until the 83rd minute for the away side to pull one back, substitute Bernardo Silva doing so. Ilkay Gundogan advanced into the area and had his shot blocked, the ball falling kindly across goal for Silva who swept the ball past Karius,
Whilst Liverpool were unlucky there, they couldn't have any complaints about City's third strike as the game edged into stoppage time, Gundogan striking as Dejan Lovren failed to clear a ball in the area, the German volleying past Karius.
With four minutes of stoppage time on the clock, there was time for one more City chance as they picked up a free-kick on the right, Sergio Aguero the unlikeliest of sources to win the resulting header, leaving half the ground thinking the ball had gone in as it crashed into the side netting.
That would be the final chance though, Liverpool just about hanging on to end City's unbeaten streak in the Premier League, moving third in the process.