Manchester United dealt a crushing blow to Manchester City's title hopes with a stunning derby win that leaves the defending champions 14 points behind Premier League leaders Liverpool.
Marcus Rashford and Anthony Martial fired United into an early lead and although Nicolas Otamendi's late reply set up a thrilling finale, the visitors held on for arguably the most impressive victory of Ole Gunnar Solskjaer's 12-month reign.
Both United goals came in a breathless opening half-hour at Etihad Stadium, where they repeatedly carved open City's creaking back-line to devastating effect.
Rashford opened the scoring from the spot after he was clumsily knocked over by Bernardo Silva, with the penalty awarded by video assistant referee Michael Oliver.
The in-form England striker, who has now scored 13 goals in his past 14 games for club and country, hit the bar moments later but United did not have to wait long to extend their lead.
United's next attack saw Daniel James find Anthony Martial on the right of the area, and he had space to turn and squeeze his shot inside Ederson's near post.
City had never trailed by two goals so early in a home league game since Pep Guardiola took charge in 2016 and their fans were left in stunned silence as United's supporters celebrated noisily at the other end of the stadium.
While the home side finally began to get a grip on the game after that, especially in midfield, the damage was done.
City had repeated penalty appeals for United handballs turned down by referee Anthony Taylor and VAR before the break, while Gabriel Jesus wastefully headed a Kevin de Bruyne cross wide.
United continued to defend deep after the break but City struggled to create meaningful chances and Otamendi's header from a Mahrez corner could not rescue them from their fourth league defeat of the season.
The game was marred by allegations of racist abuse towards United midfielder Fred in the second half, while there were also reports of objects being thrown at him from the stands.
Solskjaer silences his critics
United's best results this season have been against the leading clubs, but before this they had all come at Old Trafford. Until now, Norwich were the only side they had beaten on the road.
Solskjaer's side set that record straight in scintillating fashion here, tearing City apart in the early stages when they could conceivably have scored two or three goals more.
Ederson was the only reason that did not happen, making superb saves from Daniel James, Jesse Lingard and Rashford with the score at 0-0.
When United did take the lead, the way they controlled the game was also impressive - conceding possession and territory to their hosts, but limiting their shooting chances.
It was an excellent all-round performance and United's players clearly enjoyed it too, celebrating with the away fans at the final whistle.
It is less than a week since Solskjaer's future as United boss was being seriously questioned but back-to-back wins over Tottenham and now their neighbours have offered an emphatic response to his critics.
City's flaws exposed again
While City's midweek win over Burnley saw them at their electric best going forward, this was a reminder of the defensive flaws that have cost them so often this season.
With Rodri and the rest of City's midfield unable to track United's players when they surged forward, their backline was left embarrassingly exposed again and again in the early stages.
Angelino was given a torrid time by James down City's left and both he and Rodri were guilty of standing off Martial when he fired home United's second goal from that side of their area.
True, Guardiola was again left frustrated by important VAR decisions going against his team - particularly when Fred blocked Kyle Walker's cross with his hand just before the break - and he had a long discussion with fourth official Mike Dean about it during the interval.
But his own side's shortcomings were painfully obvious and right now it is hard to make a case for City clinching a third successive title, even if Liverpool's form fell away.
Man of the match - Marcus Rashford (Manchester United)