Darius Vassell scored twice against his old side Aston Villa as Man City jumped to fourth in the Premiership table.
Vassell was quick to take his revenge, scoring in the third minute following an awful mix-up between goalkeeper Stuart Taylor and Jlloyd Samuel.
The former Villa striker then hit the post before hammering home a superb volley midway through the first half.
Liam Ridgewell netted from close range to make it 2-1, but Andy Cole's deflected shot sealed City's win.
Since leaving Villa in the summer, Vassell has formed a promising partnership with Cole.
Even so, before Monday Vassell had managed just two goals in 10 games, a ratio the City striker was soon to improve.
While Vassell prospered, Villa keeper Taylor endured a debut he will want to quickly forget.
Called into the Villa side at short notice after first choice keeper Thomas Sorensen twisted his ankle in the warm-up, Taylor's debut quickly began to unravel after a calamitous misunderstanding with Samuel.
Taylor had rushed out to gather a Vassell flick-on but he was left in no-man's land as Samuel headed the ball past him.
It left Vassell with the simplest of tasks to slide the ball home.
If Vassell's first goal had an element of the ridiculous about it, his second had a touch of the sublime.
Picking up Danny Mills' cross, Cole bamboozled Ridgewell before flicking the ball into Vassell's path.
Without breaking stride Vassell clinically volleyed the ball past Taylor.
As well as setting up City's second goal it was Cole who created the chance for Vassell when the former Villa striker's shot was turned on to the post by Taylor.
Early in the second half, Cole drove a shot narrowly past the post after he was released by Stephen Ireland's inventive pass.
On one of the rare occasions Villa got forward in the first half City keeper James did well to tip away a Steve Davis shot.
After a woeful first-half showing, Villa proved less brittle after the interval.
That change had much to do with the introduction of Berger, whose ability to cross the ball from the left began to unsettle City.
On 65 minutes a Berger cross eluded James, allowing Ridgewell to bundle the ball across the line.
Unfortunately for Villa, Berger limped off with an injury with a quarter of an hour to go.
With Villa's main threat out of the game, City regained control of the game and Cole's shot, deflected off Mark Delaney, restored their two-goal lead.
Man City manager Stuart Pearce:
"It was a good result for us. In the second half it disappointed me - we didn't keep it for 90 minutes.
"Teams get back into the game in the Premier League but we gave the ball away cheaply.
"When we have that interchange of passing we do look a good side but we need to kill teams off."
Aston Villa manager David O'Leary:
"We made it hard for ourselves. We gifted two goals and it was disgraceful, an absolute joke."
"It's no coincidence where we are in the table - that's the way we have been giving away goals all season.
"This wasn't a one-off and that's why we're making it so hard for ourselves, though I know what can put it right."
Man City: James, Mills, Sommeil (Jihai 45), Distin, Jordan, Croft (Sibierski 69), Barton, Ireland, Musampa, Cole (Wright-Phillips 85), Vassell.
Subs Not Used: Richards, De Vlieger.
Goals: Vassell 4, 26, Cole 83.
Aston Villa: Taylor, Delaney, Mellberg, Ridgewell, Samuel (Berger 45), Milner, Davis, McCann, Barry, Phillips, Moore (Bakke 71), Berger (Djemba-Djemba 75).
Subs Not Used: Sorensen, De la Cruz.
Goals: Ridgewell 65.
Ref: D Gallagher (Oxfordshire).