Edin Dzeko's second-half brace and late efforts from substitute Stevan Jovetic and Yaya Toure broke the visitors' resistance and ensured Manuel Pellegrini's men took full advantage of Liverpool's slip at Crystal Palace to edge ever nearer to a second championship crown in three seasons.
The Citizens now need just a point from their final game of the season at home to West Ham to claim the trophy courtesy of a vastly superior goal difference to the Reds.
The hosts toiled for long periods but finally broke the deadlock just past the hour when Dzeko converted Pablo Zabaleta's low cross.
And it was deja vu 18 minutes from time when the Bosnian tapped in from close range after Samir Nasri's shot from Zabaleta's cutback was parried into his path.
Andreas Weimann hit the bar with a header late on for Villa before Jovetic and Toure struck at the death to make it 100 league goals for the season for the champions-elect.
PRE-MATCH: Silva returns and Yaya's fit, but no Agbonlahor. Man City makes two changes from the win at Everton with David Silva starting in place of Sergio Aguero and Kolarov replacing Clichy at left back. Aston Villa suffer a blow with Agbonlahor ruled out. Bowery steps in.
12' - MAN CITY CHANCE! Milner carves Villa open with a reverse pass to Zabaleta who cuts it back from the right for Toure, but the midfielder's low shot is somehow kept out by the trailing leg of Guzan.
31' - ASTON VILLA CHANCE! A wonderful Villa move opens City up down the left. Weimann crosses to the far post for Bowery who can't quite hook a volley at goal.
38' - MAN CITY CHANCE! A cut back from Zabaleta puts Silva in but his first touch isn't great and his scuffed shot is easily booted away from the danger zone.
45+2 - BIG MISS! Patient play down the right eventually sees Milner cross to the near post for Nasri, but the Frenchman spoons it wide with Silva better placed just behind him.
64' - GOAL! Man City 1 Aston Villa 0. Relief all around as Dzeko tucks home from close range after Silva and Zabaleta combined down the right to finally carve Villa open.
72' - GOAL! Man City 2 Aston Villa 0. It's deja vu as Zabaleta gets down the right and fizzes it across for Nasri who sees his shot saved, but Dzeko is on hand to tap home. Game over.
83' - OFF THE BAR! A rare attack for Villa sees a free kick clipped to the far post and headed back across goal for Weimann who hits the bar!
90+1' - GOAL! Man City 3 Aston Villa 0. Toure bamboozles the Villa defence before teeing up Jovetic to blast a low shot into the corner from the edge of the box.
90+3' - GOAL! Man City 4 Aston Villa 0. Toure rampages clear of the Villa defence, holding off all challengers before finishing with aplomb to make it 100 league goals for the season for City.
No defender has picked up more assists in the Premier League this season than Zabaleta (7)
Man City have scored 100 in a league season for the first time since 2001-02 (They scored 108 in a 46-game second tier campaign). City last scored 100 goals in the top-flight back in 1957-58 (104 but only came fifth).
Villa have lost five away games in a row in the league for the first time February 2007.
Yaya Toure becomes only the second central midfielder to score 20+ goals in a Premier League season (after Frank Lampard with 22 in 2009-10).
Manchester City have won 11 of their last 12 home games against Aston Villa in the Barclays Premier League (Lost one, but won seven on the spin).
(Stats courtesy of Opta Joe)
TALKING POINT: Is the title now a formality? Boasting a far superior goal difference, City need a point at home to West Ham to clinch the title (barring a sensational goalscoring spree from Liverpool). The Citizens tore the Hammers to shreds at the Etihad in the semi final of the League Cup and few would bet on anyone but Vincent Kompany lifting the famous trophy aloft come 5pm on Sunday.
MAN OF THE MATCH
Pablo Zabaleta (Man City): A constant menace down the right flank. It was his penetrating runs that finally put paid to Villa's resistance and his two assists for Dzeko helped open the floodgates.
Man City: Hart 6, Zabaleta 9, Kompany 6, Demichelis 6, Kolarov 7, Garcia 6, Toure 8, Milner 7, Silva 7, Nasri 6, Dzeko 8. Subs: Jovetic 6, Fernandinho 6, Negredo n/a.
Aston Villa: Guzan 7, Lowton 6, Vlaar 6, Clark 6, Baker 5, Bertrand 5, Westwood 5, Delph 6, El Ahmadi 5, Weimann 6, Bowery 5. Subs: Bacuna 5, Robinson 5, Grealish n/a.
MATCH IN A TWEET
- Sports & Recreation
- Aston Villa
- Manchester City
- Pablo Zabaleta
- Yaya Toure
- Stevan Jovetic
- Edin Dzeko
- David Silva
- Premier League