Manchester City dropped points for the second time this season in the Premier League as Leon Bailey cancelled out Erling Haaland's opener to earn a 1-1 draw for Aston Villa.
Pep Guardiola's side failed to have a shot on target in the first half, yet they went ahead five minutes after the interval when Haaland prodded home from close range for his 10th goal of the season.
City were made to pay for a host of missed chances after that as Bailey rifled in with 16 minutes remaining to send Villa Park wild, delighting under-pressure home boss Steven Gerrard.
The second-placed champions moved to a point adrift of leaders Arsenal, who face a test against improving Manchester United on Sunday, while Villa climbed to 17th spot.
10 - Erling Haaland has scored 10 goals in Manchester City's six @premierleague games this season - this is the earliest into a Premier League season any player has reached 10+ goals. Perfect. https://t.co/555XgmRBrN— OptaJoe (@OptaJoe) September 3, 2022
City started in typically dominant mood, with Kyle Walker blazing over and Kevin De Bruyne lashing wide inside the opening 10 minutes.
Villa withstood that early pressure, though, and almost took the lead in the 38th minute when Ollie Watkins' effort was deflected narrowly wide by John Stones.
City went ahead in the 50th minute with their first shot on target, Haaland stealing in at the back post to convert De Bruyne's looping cross.
The former Borussia Dortmund striker almost had a second shortly after the hour mark, yet his instinctive effort was kept out by the legs of Emiliano Martinez.
De Bruyne then clipped the top of the crossbar with a free-kick from 20 yards, before Martinez again denied Haaland.
Villa snatched a point on a rare foray forward as Bailey whipped home from 15 yards after being picked out by Jacob Ramsey.