Edin Dzeko's 12th goal of the season put the hosts ahead from close range midway through the first half only for Daniel Sturridge to smash home his fourth in six matches since his move from Chelsea.
An even better trademark Steven Gerrard strike put Liverpool ahead with 17 minutes to go only but Sergio Aguero salvaged a point with an exquisite shot from the narrowest of angles.
However, it was not enough on a weekend when rivals Manchester United won and the result leaves Roberto Mancini's side nine points adrift of the leaders.
After criticising the youngsters in his side after their FA Cup exit to League One Oldham a week ago Brendan Rodgers selected Liverpool's oldest starting line-up (average age 28 years and 18 days) since Oct 2011.
It looked a sensible ploy as City have been imperious at home since before they won the title last May - losing just one of their last 41 league games - and they made their intent clear from the off.
There were just 49 seconds on the clock when Jose Reina was forced to tip over David Silva's dipping volley.
All the early pressure was with City but once Liverpool had weathered that initial storm they started to come into their own.
A deft touch by Sturridge took Stewart Downing's lobbed pass past Hart in one move but he was denied a goal as Pablo Zabaleta got back to block.
Luis Suarez, busy without being particularly threatening, flashed a shot across Hart and wide of the far post as it seemed the visitors were about to take control.
That notion was dispelled in the 24th minute as some neat interplay from Silva and James Milner from a throw-in on the left saw the latter cross low for Dzeko to sneak behind Daniel Agger and tap home from close range.
If that goal was founded in simplicity Liverpool's equaliser was made of pure brilliance, although it was viewed as controversial by indignant City players and their fans.
Agger appeared to go through Dzeko to get the ball but referee Anthony Taylor saw no foul and with the Bosnia international collapsed on the turf in their own half Liverpool played on.
The boos grew louder as the Reds made their way upfield but almost a minute had expired - with City momentarily winning the ball back on the edge of their area - before Sturridge scored.
Gerrard rolled the ball forward to the former City striker who smashed a fierce left-footed shot past Hart.
It was the first goal the City goalkeeper had conceded since December 29, 584 minutes in all.
The hosts were furious but Taylor's decision not to stop play was proved correct - even if his original one not award the foul was not - as Dzeko leapt got to his feet, declined treatment, berated the linesman and re-started the game.
Liverpool finished the half the stronger and having continued that after the break Mancini made a tactical switch 10 minutes in when he replaced Matija Nastasic with Aleksandar Kolarov and went to a back three.
That appeared to re-energise City and Aguero threatened to put them ahead again with a blistering 40-yard run only to slip as he entered the penalty area.
Gerrard showed him the way to strike a ball in the 73rd minute with a strike very reminiscent of his goal in the 2006 FA Cup final.
Gael Clichy's poor clearance from Jose Enrique's cross dropped to the midfielder 30 yards out and the England captain controlled the ball on his chest before unleashing a dipping low volley which gave Hart no chance.
It was Gerrard's sixth league goal - one more than the whole of last season - and his fifth in the last 10 games.
Martin Skrtel was introduced for the tiring Enrique and after almost scoring at one end was involved in a mix-up with Reina which allowed City to equalise.
Aguero raced onto Gareth Barry's pass and the goalkeeper's rush of blood saw him charge out to the left edge of his area, from where the Argentina international turned him and fired in impressively from a narrow angle.
Sturridge forced Hart into a low save late on before departing to jeers from the fans who, only a couple of years ago, cheered him as one of their rising stars.