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.
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 record four straight league victories, remain a point below Chelsea and one above Liverpool.