Bernardo Silva's memorable goal helped Manchester City keep the pressure firmly on leaders Chelsea and inflict a first defeat on Steven Gerrard as Aston Villa manager in the process.
A collector's item from Ruben Dias gave City the lead in the 27th-minute, with last season's Premier League Player of the Year winner - better known for his defending than shooting - finding the net with a left-footed effort from the edge of the penalty area.
City looked to be out of sight two minutes before the break when Silva found the net with a sumptuous first-time volley from Gabriel Jesus' cross - a counter-attacking goal that will live long in the memory.
'I didn't expect to have this lead' - Guardiola not worried by City draw,
However, Villa were right back in the contest within 90 seconds of the restart. A smart corner delivery from Douglas Luiz found Ollie Watkins at the near post and he rifled a lovely shot past Ederson.
The hosts thought they had a strong case for a penalty when VAR checked for a potential foul on Ezri Konsa but the decision did not go their way.
Villa almost had their reward for a superb second-half performance when substitute Carney Chukwuemeka was released by Emi Buendia but the 18-year-old couldn't find a way past Ederson.
Jack Grealish was introduced to a mixed reception on his Villa Park return as he emerged for the last five minutes and helped his side hold on for an important three points in the title race after both leaders Chelsea and third-placed Liverpool also won.
City, who have now recorded four straight league victories, remain a point below Chelsea and one above Liverpool.
Having overseen victories in his first two games in charge, Gerrard's side are 13th, some six points from safety.
TALKING POINT - A tale of two halves in Gerrard's first big test
The history books will mark this down as the night Gerrard lost his first game as Aston Villa manager - but that doesn't tell the full story.
After a woeful first-half performance in which the hosts were passive and dreadful in and out of possession, they emerged as a side reborn after the restart. It was a display Gerrard will take great confidence from going forward. It's just a shame it took them to fall two goals behind to wake up.
If they can replicate the second-half showing on a frequent basis across the entirety of games this season, Villa won't be too far away from their target of finishing in a European spot.
As for City, they were far from their best but that is understandable considering they were missing Kevin De Bruyne, Phil Foden, Ferran Torres, John Stones and Aymeric Laporte. Job done, depleted or not.
MAN OF THE MATCH - Bernardo Silva (Man City)
Continued his rich vein of form by netting his fourth goal in just seven games - and what a goal it was, perhaps one of the best we'll see this season. Not only that, he never stopped running throughout, leading the defence from the front with intense pressing.
Aston Villa: Martinez 7, Cash 6, Konsa 6, Mings 7, Targett 6, Luiz 7, Nakamba 6, Bailey 5, McGinn 6, Buendia 7, Watkins 7.. subs: Sanson 5, Young 6, Chukwuemeka 6.
Man City: Ederson 7, Cancelo 7, Dias 8, Ake 7, Zinchenko 7, Fernandinho 7, Rodri 7, Sterling 7, Bernardo Silva 9*, Mahrez 7, Jesus 8.. subs: Grealish N/A.
27' - GOAL! Aston Villa 0-1 Manchester City (Ruben Dias): Sterling drops to the shoulder to get past McGinn and race to the by-line. He pulls it back for Dias who doesn't catch it cleanly but his left-footed shot flies into the bottom corner leaving Martinez helpless.
43' - GOAL! Aston Villa 0-2 Manchester City (Bernardo Silva): Bernardo Silva puts daylight between the sides! A couple of quick passes out of defence and City are in space, Fernandinho setting Jesus free on the right flank. He looks up and picks out the Portugal international, who makes no mistake, finishing with a sumptuous first-time volley.
47' - GOAL! Aston Villa 1-2 Manchester City (Ollie Watkins): Within 90 seconds of the restart, Villa are right back in it! Watkins makes a run to the near post to meet Douglas Luiz's corner delivery and the forward rifles a lovely shot past Ederson into the back of the net. And now we've got a game on our hands!
60' - Villa appeal for a penalty! Watkins is at the far post to head the ball across the face of goal. Konsa looks poised to tap in but Ake makes a vital interception, but did he impede his counterpart? VAR has a look... no penalty!
74' - Big save! Buendia threads it through to Chukwuemeka... is this the moment for the teenager? He has just the goalkeeper to beat! Ederson makes himself big though and makes the save! Villa so close to an equaliser!
- Bernardo Silva now has four goals in his last seven Premier League appearances for Manchester City - as many as in his previous 55 in the competition.
- Ollie Watkins has scored five goals in just three Premier League games against the reigning champions, netting in each of those matches.
Impressive Saints hold firm and end City's Premier League winning run
'I cannot betray them' - Guardiola not considering Man City exit