Goals from Carlos Tevez, Emmanuel Adebayor and Craig Bellamy sealed a vital victory for Roberto Mancini's men after John Carew had put Villa ahead.
Villa were unchanged for the sixth match in a row and they showed City a lesson in team play in the opening stages while the home side appeared to be a little lethargic, perhaps a side-effect of the intensive training regime prescribed by Mancini.
All eyes were on City's emergency loan keeper Marton Fulop, Sunderland's third-choice shot-stopper, who was making his first start since a 7-2 thrashing by Chelsea at Stamford Bridge in January.
A jittery atmosphere in the early stages of the match was not helped much by a decidedly nervy start by Fulop, who looked rusty throughout the game despite cheers from home fans at his every move, as he spilled easy balls and sliced an early clearance.
Villa were much better organised and it came as little surprise when they got the opening goal through Carew after 16 minutes.
Stewart Downing's slide-rule pass to the Norwegian striker was turned into the back of the net with City's defence in pieces. Fulop got a touch on the ball but it wasn't enough to divert it as it bobbled over the line.
Adam Johnson was the architect of City's late first-half recovery. It was his run into the area that wrong-footed Stephen Warnock and caused him to panic and mis-time his tackle as he brought down the young winger in the 41st minute.
Tevez was ice cool as he despatched the penalty with added venom just to the left of Brad Friedel, giving the American keeper no time to get down to save it.
Villa hit back after the restart and City fans had barely time to celebrate their equaliser before Carew had beaten Vincent Kompany and rattled the bar with Fulop stranded.
With attack a far better policy than defence, the home fans were ecstatic in first-half stoppage time when Patrick Vieira drifted into the Villa area and slid the ball to Johnson on the right.
With Adebayor making room for himself in front of goal it was easy for Johnson to slip a square pass to the Togo striker whose firm strike put City in front.
City had to endure a nervous game of cat and mouse in the second half before substitute Shaun Wright-Phillips left Carlos Cuellar trailing in his wake in the 89th minute and his left-wing cross allowed Bellamy to take a touch and then lift the tension with City's third goal with a shot into the top corner.