Marcus Rashford won the battle between two of the Premier League’s in-form superstars as his 82nd minute winner capped a remarkable Manchester United comeback and derby win.
With Erling Haaland held scoreless for a third straight game, victory lifted Erik ten Hag’s team to within a point of their rivals City, who had taken a lead through Jack Grealish on the hour.
But United responded with two goals in the space of four minutes to stun Pep Guardiola’s side and continue their recent resurgence.
And Rashford was instrumental in both.
On 78 minutes, Rashford allowed Casemiro’s pass to run and Bruno Fernandes to connect and beat Ederson with a ferocious finish from the edge of the area.
The goal was initially ruled out for Rashford standing in an offside position but replays showed the England star had cleverly not touched the ball so as not to be flagged.
VAR allowed the goal to stand and City were still feeling aggrieved when they conceded again after Fernandes found substitute Alejandro Garnacho on the left.
His low cross was met by Rashford, unmarked four yards out, who slid the ball home – marking the ninth consecutive home game in which he has scored.
City had enjoyed a strong start to the second half and took the lead when Riyad Mahrez finally found Kevin De Bruyne in space on the hour. His cross picked out Grealish who headed firmly home at the far post.
The game started brightly enough, with a predictable flurry of tackles and fouls, but not until the 10th minute was there anything approximating a coherent attack.
It came from a sloppy Bernardo Silva pass to Rashford who, in turn, found Christian Eriksen and his pass to Fernandes saw the Portuguese forward roll a low shot just wide of goal.
It was a cagey affair, with neither side keen to leave themselves exposed, although it took a well-timed Joao Cancelo tackle to keep the ball from Rashford as he tried to connect with Anthony Martial’s cross soon after.
City, and Haaland, were slow to make the mark on the game and not until midway through the first half did the Norwegian look remotely threatening.
Then, he started a move which ended with a Silva cross deflecting into his path, with Haaland’s shot quickly charged down by Casemiro and Fred.
It was symptomatic of City struggling to find their usual elite form and their goalkeeper Ederson was equally below par as he rushed from his area rashly, to deal with a long ball from Fernandes after 33 minutes.
Rashford chased through and rounded the keeper but, having been forced wide, his tame effort was easily blocked on the line by Manuel Akanji.
It was the start of a good spell from the hosts, with Rashford again showing impressive pace soon after to chase onto Christian Eriksen’s pass and surge into the area where Ederson saved well at his feet.