Mikel Arteta stuck a dagger into the heart of Manchester City's Barclays Premier League title hopes as Mario Balotelli lost the plot in their 1-0 defeat at Arsenal.
Balotelli was deservedly sent off in the final minute after referee Martin Atkinson and assistant Peter Kirkup somehow failed to spot his first-half knee-high tackle on Alex Song, and he could now face a lengthy ban.
His eventual dismissal came moments after Arteta's spectacular winner that left City eight points behind Manchester United and sent Arsenal two points clear of Tottenham in third place.
The Gunners had an early penalty shout when Vincent Kompany looked to have pushed Robin Van Persie in the back.
On 25 minutes, Balotelli flicked a corner goalwards, and when his shot was blocked by Kieran Gibbs, the maverick City forward kicked the base of the post in frustration. The Italian finally received a caution for catching Bacary Sagna with a high boot on 38 minutes.
City went on the offensive in the second half, with Sergio Aguero's looping header tipped over by Wojciech Szczesny. At the other end, Van Persie came close to breaking the deadlock on 62 minutes, but his cushioned header came back off the base of the post.
City then spurned a great chance when Balotelli failed to connect with an attempted scissor-kick.
The Gunners soon broke away through Song, who slipped Van Persie clear on the left side of the penalty area to slot past Joe Hart, but the Dutchman had strayed just offside.
But on 87 minutes, Arteta strode forwards to fire a brilliant 25-yard strike into the bottom corner.
Balotelli then lunged in on Sagna and was shown a second yellow card, swiftly followed by a red as City's season crumbled.