Jhon Duran and Morgan Rogers goals meant Phil Foden’s late reply for the visitors was little consolation.

Defending champions City have dropped to sixth in the Premier League, nine points behind leaders Liverpool having played two games more, while Villa have moved above them into fifth.

It is now nine defeats in 12 games in all competitions for City, who are winless in their last eight away matches, as their season continues to spiral downwards.

Guardiola made six changes from the Manchester derby defeat last week but it made little difference during another laboured performance.

Villa, who had won just three of their previous 11 top-flight games, earned a much-needed victory, one which keeps their top-four hopes firmly alive.

They were rarely troubled, although Emi Martinez saved well from Foden in the first half, and Villa continually found ways past City’s frail backline.

The tone was set inside the first minute as City needed Stefan Ortega, in for the injured Ederson, to twice bail them out.

He brilliantly turned Pau Torres’ header on to the bar, the goalkeeper clawing the ball out from almost over the line, having already saved from Duran following Josko Gvardiol’s mistake after just 15 seconds.

Worse was to come after 16 minutes when City were sliced open by Youri Tielemans’ brilliant through-ball. He found Rogers to advance and unselfishly square for Duran to beat Ortega.

City were unable to respond until it was too late and Rogers, who spent two years at Etihad Stadium without making a senior City appearance, sealed victory for Villa with a fine low finish after 65 minutes, making Foden’s injury-time strike meaningless.