Manchester City twice surrendered a lead and paid a heavy price as Aston Villa claimed a 3-2 win at Villa Park.
Yaya Toure gave City the lead moments before half time, but they were pegged back by a contentious strike from Karim El Ahmadi.
Edin Dzeko put City back in front on 56 minutes, but Villa refused to lie down, and strikes from Leandro Bacuna and Andreas Weimann gave the home side the three points.
Toure went close towards the end of the first half when stabbing the ball goalwards following a scramble in the box. The ball looped over Brad Guzan, but Villa got bodies back on the line to clear.
On the stroke of half time, Toure made amends for his earlier misfortune when beating Guzan from a corner to open the scoring.
Villa levelled things moments after half-time through El Ahmadi. He was slipped in by Bacuna and stabbed the ball home, although replays suggested he was in an offside position.
City were back in front on 56 minutes as Dzeko nodded home a corner from Samir Nasri.
Bacuna drew Villa level for the second time in the match on 73 minutes, executing a superb free-kick that gave Joe Hart no chance.
And Villa hit City on the break 15 minutes from time, as Weimann went clear and stabbed the ball beyond Hart.