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.