Robin van Persie's injury-time winner sent Manchester United six points clear at the top of the Premier League after a stormy derby win against Manchester City at the Etihad Stadium.
Wayne Rooney's two first-half goals put the leaders in control against the reigning champions - but Yaya Toure and Pablo Zabaleta put City level as the game entered its closing moments.
Van Persie, who City manager Roberto Mancini admitted he wanted to sign before his £24m summer move from Arsenal to Old Trafford, then demonstrated his worth with his 14th goal of the season as his free-kick deflected off Samir Nasri and beyond a stretching Joe Hart.
Ugly scenes followed, United's Rio Ferdinand suffering a cut eye as he appeared to be struck by an object thrown during the celebrations and City keeper Joe Hart having to restrain a pitch invader as he advanced towards the defender.
The incident marred a magnificent game in which the hosts turned around a poor first-half display and threatened to earn a point - especially after Mario Balotelli was replaced by Carlos Tevez - until Van Persie's dramatic intervention.
United were overjoyed at a result that gives them a stranglehold on the title race, with Rooney taking his tally to a record 10 derby goals. But it capped a miserable week for City after the conclusion of their abject Champions League campaign.
Van Persie's strike ended the Blues' unbeaten home Premier League run stretching back to a 2-1 defeat by Everton in December 2010.
Mancini had taken a giant leap of faith in selecting Balotelli ahead of Tevez and it was a decision that was not rewarded.
The Italian striker skied a good chance in some early phases of home domination but City were undone by that brilliant counter-attacking opener from Rooney.
Van Persie and Ashley Young both played important parts in an attack that swept forward from goalkeeper David de Gea's clearance and Rooney finished the job. His shot may have been scuffed but his intention to wrong-foot Hart was clear.
City were further frustrated as captain Vincent Kompany limped off and was replaced by Kolo Toure, who was surprisingly preferred to England defender Joleon Lescott, also on the bench.
The visitors' width was troubling City and was pivotal as they extended their lead just before the half-hour. Rafael made inroads down the right and crossed for Rooney to sweep another precise finish past Hart for his 150th Premier League goal.
Balotelli had made no impact on the game and it was no surprise when he was replaced by Tevez in the opening moments of the second half after a needless backheel conceded possession and brought a frustrated response from Mancini.
The departing striker shot Mancini a glare as he strode straight down the tunnel but he could have no complaints after being given an opportunity he had singularly failed to take.
United then thought they had scored a third when Young converted from close range after Van Persie had struck the upright but the linesman's flag was raised for a very marginal offside decision.
Seconds later City were back in business as Yaya Toure scored after Tevez and David Silva had seen efforts blocked.
As the champions sensed an equaliser, United had a remarkable escape in the 79th minute when Silva turned inside only for his angled effort to skim off De Gea's shoulder on to the bar.
The leveller came in the 85th minute when United could only half-clear Tevez's corner and Zabaleta drilled home powerfully from 12 yards.
Mancini's men pushed forward in search of a stunning victory but the points went to United when Tevez brought down Rafael and Van Persie scored with a free-kick from an angle, aided by a crucial deflection.