Manchester City moved up to second in the Premier League thanks to Michael Johnson's terrific run and shot.
Michael Johnson and Blumer Elano were excellent in the City midfield
Johnson lit up an otherwise lacklustre encounter when he drove through the Villa defence and slotted a low drive under goalkeeper Scott Carson.
The visitors had enough chances to level with John Carew wasting a close-range header and Martin Laursen doing likewise from two corners.
Villa dominated after the goal and, despite a late siege, failed to level.
The win means City maintain their 100% home record this season and keep their clean sheet run at Eastlands. Villa, though, miss the chance to add to their back-to-back victories and remain in mid-table.
Both teams had already claimed the scalps of big sides this season, City beating Manchester United and Villa seeing off Chelsea.
But the calibre of those performances were missing at Eastlands.
An insipid first half did manage to provide enough chances for both sides to break the deadlock, but a lack of composure in and around the box ensured the score remained goalless at the break.
City's Vedran Corluka ghosted into space and lashed a 25-yard drive narrowly wide on 10 minutes, while Vassell saw a deft flick-on whistle wide from a Martin Petrov free-kick.
Kasper Schmeichel endured many nervy moments in the City goal, particularly from crosses, and his poor decision-making was almost punished when Gabriel Agbonlahor skipped past him and scuffed wide from a tight angle.
The best chance of the first period fell to City who should have punished Laursen's ponderous defending.
The dangerous Blumer Elano reacted quickest to the Dane's failed clearance and played in Johnson who was denied by Carson who blocked the snap-shot with his face.
The quality improved after the break and a moment of class and desire from the superb Johnson put the hosts ahead on 48 minutes.
The 19-year-old midfielder drove at the heart of the Villa defence after being put through by Elano and fired a tremendous low effort beneath Carson.
Villa should have responded immediately with the off-key Carew glancing his close-range header wide when it looked easier to score.
Indeed, the visitors were wasteful throughout with Laursen squandering headers from fine positions from Gareth Barry corners.
City, content on preserving their lead, sat back for much of the second half and rarely ventured into Carson's box.
But despite Villa's domination, they failed to provide the spark to unlock the City back line.
Manchester City boss Sven-Goran Eriksson
"Michael Johnson is the all-round midfielder. He can pass, run, shoot, tackle, he has it all. He was excellent. I see him as a future captain.
"We have a lot of young players so it is good for now and for the future.
"It's been a long time since our last win and you start to think how good are we? This was the perfect answer."
Aston Villa boss Martin O'Neill:
"We came here with plenty of confidence having done so well against Chelsea in the last game.
"We didn't get enough efforts on target, we didn't test them enough.
"We should have done better with the goal. When he picked it up there wasn't much danger, suddenly he gets a bit of space and it's in the net."
Man City: Schmeichel, Onuoha, Richards, Corluka, Garrido, Vassell (Jihai 64), Johnson, Hamann, Petrov, Mpenza (Bianchi 85), Elano (Ball 83).
Subs Not Used: Hart, Gelson.
Goals: Johnson 48.
Aston Villa: Carson, Mellberg, Laursen, Knight, Bouma (Gardner 82), Agbonlahor, Reo-Coker (Petrov 82), Barry, Young, Carew (Maloney 66), Moore.
Subs Not Used: Taylor, Davies.
Ref: Martin Atkinson (W Yorkshire).