Manchester United survived a stirring fightback from Manchester City to win a thrilling FA Cup third-round derby at the Etihad Stadium.
The drama started before kick-off when United announced Paul Scholes was coming out of retirement to play until the end of the season and was named on the bench.
And it did not let up for a pulsating 90 minutes which threatened a United rout as they established a three-goal lead by half-time, but ended with Sir Alex Ferguson's side hanging on as City tried to complete the most unlikely comeback.
City were also fuelled by a burning sense of injustice after losing influential defender and captain Vincent Kompany to a contentious early red card from referee Chris Foy after a two-footed challenge on Nani.
United were already ahead courtesy of Wayne Rooney's header - and with City suffering a numerical disadvantage the visitors punished their neighbours in a style that, at one point, threatened complete revenge for their 6-1 thrashing at Old Trafford in October.
Danny Welbeck added a second before Rooney was on target again from a rebound after his penalty was saved by City's stand-in goalkeeper Costel Pantilimon, who was in for the rested Joe Hart.
Roberto Mancini's side refused to capitulate in adversity, mounting a response that ultimately failed to rescue the game but did great credit to their resilience and determination.
Aleksandar Kolarov's free-kick reduced the deficit and, when Sergio Aguero took advantage of Anders Lindegaard's handling error with 25 minutes left, City had real hopes of forcing a replay.
United held on, but boss Ferguson was clearly unhappy with the carelessness demonstrated by his team that threatened to allow a comfortable situation and a place in the fourth round slip from their grasp.
Scholes was introduced just before the hour but, understandably, looked very short of match sharpness. He spread some trademark passes and had a low shot saved, but the 37-year-old also tired rapidly and gave the ball away for City's second goal.
When the rumoured return of Scholes became a reality he was afforded a rapturous reception from United's supporters as he came out to warm up.
And, after the visitors survived early pressure from City, their fans were celebrating again when Rooney soared to meet Antonio Valencia's cross and direct a fine header beyond Pantilimon via the underside of the bar.
Matters were made considerably worse for City two minutes later when Kompany was sent off for his challenge on Nani, which referee Foy deemed worthy of a red card despite the Belgian appearing to get the ball.
This twin setback left City unsettled and United took advantage to add two further goals and assume total control by the interval.
Welbeck's second on the half hour was a triumph of athleticism and technique for the young England striker. He reacted superbly when Patrice Evra's cross deflected off Samir Nasri to hook his finish beyond the stretching Pantilimon.
The game looked to have been pushed beyond City's reach when Rooney got his second when referee Foy correctly pointed to the spot following Kolarov's late tackle on Welbeck.
Rooney's spot-kick was saved by Pantilimon but rebounded kindly to allow the former Everton man to head home and leave City's players and supporters stunned.
And yet Mancini's men gathered themselves during the break to mount a stirring recovery.
Mancini made a double change, taking off David Silva and Adam Johnson for Stefan Savic and Pablo Zabaleta.
City were back in the game within three minutes of the restart as Kolarov sent a fine free-kick into the corner from 20 yards to offer hope of an unlikely comeback.
This was the signal for Ferguson to reintroduce Scholes in place of Nani - but he was to quickly play an undistinguished part as City further cut the arrears.
The veteran lost possession and when Lindegaard failed to hold Aguero's shot, the Argentine followed up to score with ease.
The momentum was with City and as the game entered its closing stages another ex-England player hit the comeback trail once more as Owen Hargreaves replaced the disappointing Nasri.
City had a penalty appeal turned down when Phil Jones handled, but United should also have been awarded a second spot-kick earlier when Kolarov fouled Valencia.
There was still time for Kolarov to sting Lindegaard's palms with a free-kick in the dying seconds, but the parried effort was cleared by some frantic United defending.
The final whistle brought a standing ovation from both sets of supporters - United's for the victory and a measure of revenge and City's for a show of strength from their side.