Antoine Semenyo fired us into a 23rd minute lead but Ollie Watkins struck twice after the break and a late Phil Foden effort was ruled out by the VAR.
A day of high emotion also saw the final appearances of two more City legends as captain Bernardo Silva and John Stones played for the 460th and 295th time respectively.
A record 60,332 crowd following the opening of the extended and renamed Pep Guardiola Stand said their goodbyes to three incredible servants of the Club.
City’s second-placed finish was already guaranteed ahead of kick-off with the Carabao Cup and FA Cup on show following our triumphs at Wembley this season.
The match in 250 words
It was a day of celebration long before kick-off as City fans embraced the sunshine and a chance to see three of our greatest ever servants for one last time.
That built to fever pitch as the teams emerged onto the Etihad pitch, as huge banners featuring Pep, Bernardo and Stones descended from the East Stand to welcome the team while their individual songs reverberated from a record crowd.
We started with the typically courageous attacking style that we’ve become so used to over the past 10 years.

After a gruelling final run-in when an FA Cup final was sandwiched between two Premier League games in the space of eight days, Guardiola freshened his side with nine changes.
Savinho was enjoying the Brazilian-style weather as he caused a constant threat down the left wing, attacking at a quick pace.
He fired an early effort wide before Bernardo then found some space in a similar area and hit a low shot from a tight angle that was well blocked from Marco Bizot.

But it was one of our exciting stars of the present and future that open the scoring with Semenyo rounding off a brilliant campaign with the opener, turning in Tijjani Reijnders’ corner at the far post.
A drinks break immediately after gave Guardiola the opportunity to give a tactical tweak with instructions for Rico Lewis who almost quickly set up a second for Savinho.
A brilliant interchange between Phil Foden and Reijnders on the break saw the Dutchman bring a fingertip save from Bizot while Stones made a timely interception to ensure James Trafford remained untroubled.

However, his clearance after the break bounced off an unaware Watkins, who then pounced on the loose ball to turn in an equaliser.
Just before the hour Bernardo was replaced and the Portuguese magician waved towards the four stands singing his name before tearfully walking through a guard of honour of City and Villa players.
With our rhythm disrupted, Watkins grabbed a second after the VAR ruled him onside.

Cherki went close to an equaliser with a low shot that drifted beyond the post but there were more tears as Stones was replaced with 12 minutes remaining with a similar guard of honour.
Foden crashed a strike in off the underside of the crossbar in the 90th minute but the goal was ruled out for offside by the VAR.
Teams
City: Trafford, Lewis, Stones (Gvardiol 77), Dias, Ake (Ait-Nouri 77), Nico, Bernardo (C) (Kovacic 59), Reijnders (Doku 77), Foden, Savinho, Semenyo (Cherki 58).
Subs not used: Bettinelli, Marmoush, Nunes, Alleyne.
Villa: Bizot, Garcia (Cash 46), Lindelof (Torres 73), Mings (C), Maatsen, Bogarde (Onana 73), Luis (Tielemans 73), Barkley (McGinn 86), Bailey, Buendia, Watkins.
Subs not used: Wright, Digne, Hemmings, Burrowes.
Stand forever
It was fitting that this was the first ever match in front of the newly-named Pep Guardiola Stand and that the great man was able to feel the overwhelming love from the fans and Club after everything he has given.
No one in City’s record Premier League crowd needed a reminder of what the Catalan has done during an unprecedented period of success, that has left a legacy felt throughout England and further afield.
He turned City into arguably the best team on the planet with a philosophy of stylish, attacking football that will never be forgotten by the fans who sang his name with pride.
Long before the celebrations after the full-time whistle, City supporters made it clear their affection for a manager who leaves as the greatest in our history, on the day he also became the man to take charge of more matches than any other in our history.
Thanks for everything!
If it wasn’t tough saying goodbye to the greatest manager in our history, it was also the final appearances of Bernardo and Stones in a blue shirt.
No player has featured more times under Guardiola than Bernardo and he has given his all in each of his 460 appearances – more than any other City player this century and the eighth highest of all time.
He emerged onto the pitch holding his young daughter with tears in his eyes, but of course he was as determined as ever once the match kicked off.
Meanwhile, Stones played his last game in a City shirt after redefining what a defender could produce on a football pitch during his time at the Etihad.
The crowd urged him to shoot whenever he was within 50 yards of the Villa goal but of course he refused in favour of an elegant passing style that has encompassed his decade at the Club.
GUARDIOLA REACTION
Will follow shortly...
PLAYER REACTION
Will follow shortly...
What it means
Our second-placed Premier League finish was confirmed in midweek with a place in the Champions League guaranteed some time ago.
The season is completed with another two trophies after winning the Carabao Cup and FA Cup.
WHAT’S NEXT
Plenty of our squad will be heading off to this summer’s World Cup before we reconvene for our pre-season tour.
Keep across mancity.com and the official app for all the details and latest information.
News about Man City v Aston Villa
Haaland wins third Premier League Golden Boot
Erling Haaland has won the Premier League’s Golden Boot for the third time in four seasons. Read more
10 years with Pep: We see things they’ll never see!
Pep Guardiola may be stepping down as manager of Manchester City but his name will Live Forever here at the Etihad. Watch more