Marcus Rashford scored as United produced one of their best displays of the season to beat City 1-0 in the Manchester derby.
In what was a dreadful afternoon for Manuel Pellegrini’s side, England duo Raheem Sterling and Joe Hart both had to be substituted because of injury.
City edged the opening stages and created the first clear-cut opening in the 14th minute when Jesus Navas’ sweet strike was kept out by David de Gea with his feet.
Just two minutes later United took the lead when Rashford skipped past Martin Demichelis far too easily before clipping the ball past Hart.
When City responded, Demichelis headed wide from David Silva’s 22nd-minute free-kick when it seemed easier to score.
City were dealt a serious blow when Sterling had to limp out of the action in the 26th minute and seven minutes later Yaya Toure tried a curling effort that drifted just wide of De Gea’s goal.
The home team were fortunate not to concede a penalty in first-half stoppage time when Demichelis appeared to bundle Rashford over in the area, only for referee Mike Oliver to disagree and wave play on.
At the start of the second half Hart sustained a calf problem when he stretched to reach a woeful Demichelis back-pass and the England goalkeeper had to leave the pitch on a stretcher and was replaced by Willy Caballero.
Caballero was soon called into action to deny Rashford a second goal while at the other end Sergio Aguero’s 66th-minute header crashed back into play off the outside of the post.
The Argentina international and Wilfried Bony both had good chances to equalise while Chris Smalling was fortunate not to be sent off in the closing stages when he brought Aguero down having already been booked in the first half.
However, United deserved their victory which revives their top-four hopes and leaves City in danger of failing to qualify for next season’s Champions League.