Manchester City found themselves unable to break down a stubborn Villa defence for much of the match with Sergio Aguero and Frank Lampard coming closest for the visitors.
But the deadlock was broken in the 82nd minute when Yaya Toure ran at the Villa defence and slotted his shot past Guzan before Aguero sealed the three points for the champions in the 88th minute.
Yaya Toure match reaction: “I think today was a great victory for us, because it was against a great team working very hard,” said the Ivorian.
“The first half was quite difficult for us but in the second half we did the job. Full credit to Villa they played very well in defence but in the second half we did the job.”
Villa boss Paul Lambert’s match reaction: “I thought it was a big effort from us.
“The two lads who scored their goals are probably worth more than our entire team put together.”
He then spoke about his side’s “gruesome” run of games, playing Arsenal, Chelsea and Manchester City: “I’ve never known a run as gruesome as that one, but we’ve come through it without anyone beating us heavily.
“So we’ve nothing to be ashamed of.”
The result leaves City in second place, two points behind title favourites Chelsea who have a game in hand, meanwhile Villa slip to seventh.
By Phil Wellbrook