A stunning first half-strike from Sergio Aguero set the champions on their way, before Roberto Firmino levelled midway through the second period.
But Leroy Sane had the final say with a 73rd-minute winner to settle a game that lived up to its billing and more.
With expectation levels high and an electric atmosphere inside the Etihad, the two teams walked out to battle in the season’s most hyped, talked about and eagerly anticipated games of the season.
It’s probably fair to say there have been few Premier League matches in history that have whetted the appetite so much, especially considering it is still the start of January.
So often such heavyweight contests fail to live up to expectation, but straight from the off, this was a fascinating game of chess between two of the best teams the league has seen.
City, all vigour and energy; Liverpool, calm and composed, the majority of the cheers from either set of fans was for a stray pass or error as nerves occasionally took hold.
The Blues had more possession, but the Reds’ rear-guard protected their box well, restricting the hosts to one or two half-chances from crosses.
Then, on 18 minutes, Liverpool broke forward with Mohamed Salah playing a neat one-two before sliding an inch-perfect pass to Sadio Mane whose measured low shot looked certain to open the scoring…
Somehow, the ball struck the inside of the post before John Stones’ clearance hit Ederson and rebounded towards the net – only for Stones to scramble the ball through the on-rushing Salah’s legs to safety.
Goal-line technology showed that maybe half of a five pence’s width of the ball hadn’t crossed the line and the Etihad collectively breathed a huge sigh of relief.
The tackles flew in and yellow cards were shown – four in the opening half – though the challenges were honest enough, just full blooded.
City, having survived that almighty scare, started to look increasingly threatening and four minutes before the break, the champions went ahead.
Aymeric Laporte’s cross was cleared as Aguero went down in the box, but the clearance was recycled by the Blues as Bernardo darted down the left, crossed in and Aguero, after a deft touch, sent a thunderous shot past Alisson from an acute angle.
It was a good time to score and the roar that greeted the half-time whistle was that for a battle only half-won.
The first talking point of the second period was whether or not Raheem Sterling was fouled in the box as he checked inside Andy Robertson – those of a blue persuasion thought so, the referee and his assistant did not.
Just past the hour, Liverpool threatened and as the ball squirmed out to Roberto Firmino, his low shot was scrambled clear by Vincent Kompany.
It was merely a stay of execution as Liverpool’s full-backs combined to fashion an equaliser with Trent Alexander-Arnold’s arrowed pass found Robertson in the six-yard box and the Scot’s volleyed cross gave Firmino the simplest header from a yard out.
Who would blink first in the time that remained?
City regrouped and started to threaten again and within ten minutes, the champions had the lead again as Sane attacked down the right before drilling a low shot off on post and in off the other.
The pendulum had swung back in the Blues’ favour, but there were still 17 nail-biting minutes remaining.
The game swung from one end to the other and on 82 minutes, Sterling broke free on the halfway line, fed Aguero who went around Alisson only to see the Brazilian fling a hand and divert the shot round the post – agonising.
City had to withstand a barrage of long balls into the box in the five minutes of added time, but defended superbly and held on for a win that puts the champions firmly back on Liverpool's tail.
Star man: Bernardo Silva
What it means...
City cut Liverpool’s lead to just four points.
"The game was a real game for both sides. We beat an incredible team. We were outstanding from the first minute. We are happy for this victory to reduce the gap. Everything is open."
The Blues take a rest from Premier League action and turn attention to domestic cup competition with an FA Cup tie against Rotherham on Sunday and the Carabao Cup semi-final, first leg against Burton next Wednesday.