Yaya Toure's brilliant free-kick and a Vincent Kompany goal put City in command at the break.
But Kieran Richardson pulled one back five minutes after the restart and a comical Kompany own goal, slicing the ball over the head of his goalkeeper Joe Hart, made it 2-2.
Jesus Navas spared his captain's blushes with the third in the 78th minute before James Milner got the killer fourth.
Luis Suarez sent Liverpool top of the Barclays Premier League as he celebrated his bumper new deal with two more goals to help his side beat Cardiff at Anfield.
1 Liverpool 36
2 Man City 35
3 Arsenal 35
4 Chelsea 33
5 Everton 31
6 Newcastle 30
7 Man Utd 28
8 Tottenham 27
9 Southampton 24
10 Stoke City 21
11 Swansea 20
12 Hull City 20
13 A Villa 19
14 Norwich 19
15 Cardiff 17
16 West Brom 16
17 West Ham 14
18 C Palace 13
19 Fulham 13
20 Sunderland 10
A day after signing a new long-term contract, reportedly worth £200,000 a week, the Uruguayan took his tally to 19 goals in 12 league games this season to inspire the hosts to a 3-1 win.
Suarez volleyed his first past David Marshall in the 25th minute following an inviting Jordan Henderson cross and, after setting up Raheem Sterling for number two in the 42nd minute, he curled home a brilliant third on the stroke of half-time.
It meant Suarez has now scored 10 league goals in December alone, more than any player has ever managed in a single month.
Cardiff, with manager Malky Mackay a dignified presence on the touchline throughout in what is expected to be his last game in charge, pulled one back early in the second half through Jordon Mutch.
And the away fans chanted the name of their manager, who has been asked to resign or be sacked by club owner Vincent Tan, until the end.
The win moved Liverpool, whose last league title came back in 1990, to the summit ahead of Arsenal, with the Gunners taking on Chelsea on Monday.
Manchester United claimed a fourth straight win in all competitions, 3-1 at home to struggling West Ham.
Danny Welbeck scored the first, his third in three games, before teenager Adnan Januzaj added to his burgeoning reputation with the second before half-time, bamboozling James Collins with a neat turn before shooting into the far corner.
Ashley Young made it three with a thumping right-foot finish from just inside the area, with Carlton Cole getting a consolation for the Hammers.
Man Utd 3 - 1 West Ham
C Palace 0 - 3 Newcastle
Stoke City 2 - 1 A Villa
Fulham 2 - 4 Man City
West Brom 1 - 1 Hull City
Sunderland 0 - 0 Norwich
Liverpool 3 - 1 Cardiff
Premier League Results
West Brom, in their first match since the departure of coach Steve Clarke, snatched a 1-1 draw at home to Hull.
Jake Livermore's first-half goal looked set to condemn the Baggies to another loss until substitute Matej Vydra levelled four minutes from time.
Newcastle continued their impressive campaign by winning 3-0 at Crystal Palace, Yohan Cabaye, a Danny Gabbidon own goal and a late Hatem Ben Arfa penalty doing the damage.
Bottom side Sunderland were unable to take advantage of the defeats for their relegation rivals, though, as they were held to a 0-0 home draw by Norwich.
And to make matters worse the Black Cats had Wes Brown sent off at the death.
Peter Crouch scored the 70th-minute winner as Stoke won 2-1 at home to Aston Villa in Saturday's other game.
Charlie Adam put the Potters ahead, but Libor Kozak levelled.