First-half goals from Jon Macken and Shaun Wright-Phillips helped City end Villa's recent good run of form.
Macken put City ahead with a composed finish after he had latched on to Robbie Fowler's deflected through-ball.
Wright-Phillips made it 2-0 with a powerful finish after a sweeping move and Antoine Sibierski also went close.
At the other end David James saved Juan Pablo Angel's penalty and the striker headed the rebound over - before Lee Hendrie saw red in the dying seconds.
Villa had arrived chasing a fourth consecutive League win, but right from the start they looked unlikely to achieve that.
City were without top scorer Nicolas Anelka, but their attacking partnership of Fowler and Macken made a lively start.
In the opening minutes Sibierski sent a low shot skimming narrowly wide, while Macken could produce only a weak header when Jlloyd Samuel's slip left him with time and space in the box.
The visitors were struggling to clear their lines, but City's opener did not come until the 29th minute.
Olof Mellberg's attempted interception sent Fowler's pass into Macken's path and he kept his cool despite the attention of Delaney, turning smartly before firing into the bottom corner.
A low curling effort from Sibierski brought another diving save from Thomas Sorensen soon after as City looked to press their advantage home.
Their second goal arrived on 38 minutes with Wright-Phillips finishing off a swift counter-attack after Sylvain Distin had scooped away a Carlton Cole header from underneath his own crossbar.
The ball was cleared down the left-flank where Mellberg cleared Stephen Jordan's cross into the path of Wright-Phillips, who smashed an unstoppable shot into the roof of the net.
Villa had barely managed an attack but almost fashioned an equaliser when Lee Hendrie's deflected shot seemed to be heading for the bottom corner of the net - but James got across well to turn the ball wide.
The visitors still had hope however, and they came out all guns blazing after the restart - while City had lost the fluency they had shown in the first period.
Hendrie should have pulled a goal back almost immediately but he was wasteful when Ulises de la Cruz found him in space in the box and shot high and wide.
James then had to push away Gavin McCann's shot after he found space on the edge of the box, but for all Villa's possession they were not creating much.
However, with City content to sit back opportunities did come along - but Angel summed up a forgettable day for David O'Leary's side with his late penalty miss.
It appeared Richard Dunne had fouled Luke Moore outside the box but referee Mike Riley pointed to the spot.
Angel stepped up but James plunged to his left to block the shot - and the striker inexplicably headed the rebound over with the goal gaping.
And just when things couldn't get worse for Villa they did - Hendrie seeing red for an injury-time clash with Danny Mills.
Man City: James, Mills, Distin (Onuoha 72), Dunne, Jordan,
Shaun Wright-Phillips, Barton, Bosvelt, Sibierski, Fowler,
Subs Not Used: Sommeil, Waterreus, Bradley Wright-Phillips,
Goals: Macken 29, Shaun Wright-Phillips 38.
Aston Villa: Sorensen, De la Cruz, Delaney, Mellberg, Samuel, Solano, Hendrie, McCann, Barry (Hitzlsperger 61), Angel,
Cole (Luke Moore 61).
Subs Not Used: Postma, Ridgewell, Davis.
Sent Off: Hendrie (90).
Ref: M Riley (W Yorkshire).