The story of the Premier League season was written in the space of five minutes at the home of the champions, when Pep Guardiola's side fought back from a two goal deficit and netted thrice in surreal fashion to retain their crown.

Despite a dominant start to proceedings, Manchester City were lacking the cutting edge in attack and were often exposed at the back with Fernandinho partnering Aymeric Laporte in central defence and John Stones at right-back.

City received an early blow in the title decider when Matty Cash headed in from Lucas Digne's cross to steer Steven Gerrard's men in front and silence the Etihad Stadium, with Liverpool then in a position to win the league with a victory over Wolves.

A frustrating opening 45 minutes finished with the hosts trailing at the break and looking toothless and predictable in attack. Guardiola brought on Oleksandr Zinchenko for Fernandinho and switched Stones to centre-half, with Joao Cancelo operating on the right flank for the second-half.

Zinchenko made an instant impact by bringing life into the City attack as he threatened from left-back on a few occasions in the opening five minutes of the second-half.

However, things went further wrong for Guardiola's side when Philippe Coutinho scored expertly to give Villa a two-goal advantage, with City needing three goals to ensure the title as Liverpool looked to claim the lead themselves against Wolves.

Ilkay Gundogan headed in from a delightful cross by Raheem Sterling at the back post to halve the deficit, with Zinchenko playing Rodri in to side foot the leveller shortly after - a few minutes of play that sent the Etihad rocking and filled the crowd with belief and hope of a third goal to clinch the title.

On as a substitute in place of Bernardo Silva, Gundogan made a late run into the six yard box and tapped home from Kevin De Bruyne's inch-perfect ball to win the league for City and complete one of the most sensational stories written in the history of the English top-flight.

Reflecting on the spirit his side showed in his final game in a City shirt, club captain Fernandinho said: "Always. Always we believed. If you work for City or if you support City, you always believe. We never give up."

After recently suffering a heartbreaking exit from the Champions League semi-final to Real Madrid in similar fashion to how they stole a win against Villa, the Brazilian hailed the character shown by the Blues to fight back from setbacks time and again this season.

“We know how to split both competitions (Champions League and Premier League)," the 37-year-old added.

"It was a little bit of a shock for us (the defeat at the Santiago Bernabeu) but after that we have a good response in the games we played. Today, we deserved by far to be champions."

Follow City Xtra on social media: Twitter | Instagram | Facebook | YouTube

More must-reads:

TODAY'S BEST
Watch: Aaron Judge passes Derek Jeter on Yankees all-time home run list
Timberwolves C overcomes long odds, wins Sixth Man of the Year
Watch: The Maple Leafs turn up the physicality in Game 3 vs. Bruins
Cavaliers forward to miss rest of first-round series
Latest report provides hint on Cowboys' feelings about Ezekiel Elliott reunion
Three-time Pro Bowl pass-rusher requests a trade from the Bengals
Commanders suddenly cut pass-rusher after NFL reinstatement
Watch: Pirates prospect Paul Skenes' remarkable streak ends
Cowboys make unsurprising move with Micah Parsons
Blue Jays OF placed on injured list due to hip inflammation
Jayden Daniels addresses if he'd play for Commanders
Guardians top pitching prospect shut down after setback
Lions agree to record-setting extension with OT
Sharks fire head coach David Quinn after two seasons
Marvin Harrison Jr. explains controversial predraft decisions
Reigning Cy Young winner's disastrous 2024 continues
Lions extension makes Amon-Ra St. Brown the NFL's highest-paid receiver
Ravens extend former first-round pick
Bengals make decision on three-time Pro Bowl WR
Cardinals demote former top prospect following brutal start