Man City 3-2 Aston Villa: Player ratings as Guardiola's men retain Premier League crown with remarkable win
From the Etihad Stadium - Manchester City retained their Premier League crown with a remarkable 3-2 win over Aston Villa.
City looked dead and buried with goals either side of half-time from Matty Cash and Philippe Coutinho looking set to deny City and Pep Guardiola.
But three goals in five amazing minutes handed City the title.
Second half substitute Ilkay Gundogan headed home the first on 76 minutes before Rodri levelled just moments later.
Then with less than ten minutes left Gundogan poked the ball home from close-range after some wonderful work from Kevin De Bruyne.
City's performance did not warrant the win, but nobody at the Etihad will remember the insipid performance for more than 75 minutes of the game as they made sure that Liverpool would not win a quadruple.
City did not start the game well at all, although they almost bagged a goal from nothing on ten minutes as Gabriel Jesus charged down Robin Olsen's clearance, but fortunately for the Swede it flew wide.
Phil Foden and Riyad Mahrez then both saw chances fly wide, but Villa were steady throughout with former City man Douglas Luiz impressing in midfield.
Indeed Villa were giving as good as they got and it was barely a shock when they took the lead less than 10 minutes before the break with an excellent move. Jacob Ramsey broke into the City half before feeding Lucas Digne on the left side of the area, put in a brilliant ball for Cash to head home from close-range.
As expected changes were made at the break as Fernandinho was brought off in his final game with Oleksandr Zinchenko coming on, meaning Joao Cancelo moved to the right.
Both full-backs had impacts early on in the second period, creating chances for De Bruyne and Jesus, but neither could find the target. City's last change saw Ilkay Gundogan come on for Bernardo Silva, but before the German could touch the ball Villa made it 2-0.
A long ball from Olsen was flicked on by Watkins to Coutinho, who then turned in the box and fired home past Ederson.
City were shell-shocked, but from almost nowhere the game turned in five miraculous minutes.
The aforementioned Gundogan's first touch of note was a brilliant header from fell sub Raheem Sterling's cross to the back post on 76 minutes.
Just two minutes later the game was level as Zinchenko pulled the ball back to Rodri on the edge of the box to side foot home.
The Etihad was now rocking as much as Villa's backline and in the 81st minute, the all important third goal arrived. De Bruyne picked up the ball in the area, danced to the six yard box and fired across goal for Gundogan to score from close range.
Villa were stunned and has given it everything, but City were not to be denied as Pep Guardiola claimed a fourth Premier League crown.
Manchester City vs Aston Villa player ratings
1. Manchester City (4-3-3)
GK: Ederson - 5/10 - Beaten twice on the day.
RB: John Stones - 5/10 - A bit better at centre-half in the second-half, but not much better.
CB: Fernandinho (C) - 3/10 - Poor last game for the City legend.
CB: Aymeric Laporte - 5/10 - A couple of nice blocks but not good enough in general.
LB: Joao Cancelo - 6/10 - Switched to the right at half-time, but never quite looked his normal self.
CDM: Rodri - 8/10 - Great strike to bring the game back to 2-2.
CM: Kevin De Bruyne - 8/10 - When City needed him, he turned up - crucial assist for the goal.
CM: Bernardo Silva - 5/10 - Brought off having barely featured in the game.
RF: Riyad Mahrez - 4/10 - Hauled off before the hour, really poor.
CF: Gabriel Jesus - 6/10 - Had his chances and was busy throughout but nothing really fell for him.
LF: Phil Foden - 6/10 - Tried his best but was stuck on the left too much.
SUB: Oleksandr Zinchenko (45' for Fernandinho) - 8/10 - Did well and was a constant threat.
SUB: Raheem Sterling (55' for Mahrez) - 8/10 - Worked hard and made a real difference.
SUB: Ilkay Gundogan (68' for Silva) - 10/10 - Two goals from the German, remarkable stuff.
2. Aston Villa (4-3-3)
GK: Robin Olsen - 6/10 - Did well for the most part and could do little with the goals.
RB: Matty Cash - 8/10 - Did a great job on Foden and grabbed a brilliant goal. Outstanding.
CB: Calum Chambers - 5/10 - Dodgy first-half and just as poor second-half.
CB: Tyrone Mings (C) - 7/10 - Tried hard but couldn't hold City back.
LB: Lucas Digne - 7/10 - Along with Cash was outstanding down the flank, especially in first-half.
CM: Jacob Ramsey - 7/10 - Led the counter for the first goal, impressive.
CM: Douglas Luiz - 7/10 - Very good game against his former club - did well against De Bruyne.
CM: John McGinn - 6/10 - Worked hard and did his job, but didn't see much of the ball.
RF: Philippe Coutinho - 8/10 - Brilliant finish for second goal and could not do much more for Liverpool on the day.
CF: Ollie Watkins - 7/10 - A constant threat but should have had a couple at least.
LF: Emi Buendia - 5/10 - A bit anonymous.
SUB: Marvelous Nakamba (72' for Coutinho) - N/A.
SUB: Ashley Young (90' for Buendia) - N/A.
To read more from our transfer correspondent Graeme Bailey - check out his 90min page or check him out on Twitter