Match ends, Manchester United 2, Manchester City 0.
Manchester United boss Ole Gunnar Solskjaer said it is a "privilege" to manage his players as they completed the Premier League double over derby rivals Manchester City for the first time in a decade.
This thunderous encounter was a personal nightmare for Manchester City's normally reliable Brazilian goalkeeper Ederson, who gifted Solskjaer's side both goals in sharply contrasting fashion.
He allowed Anthony Martial's routine shot to squirm under his body from a quick Bruno Fernandes free-kick on the half-hour and then, with seconds left, threw a clearance straight to Scott McTominay, who showed great technique to send a long-range finish, struck first time, into the net in front of a delirious Stretford End.
It is a win that leaves Liverpool - who now have a 25-point lead at the top of the table - requiring only two more wins to secure their first league title for 30 years and Manchester United only three points behind fourth-placed Chelsea, after their first derby league double since Sir Alex Ferguson's retirement.
City hotly contested the free-kick, given by referee Mike Dean for a foul by Ilkay Gundogan on Fernandes, that led to Martial's goal - although United also felt they were denied a penalty when Fred was booked for diving after tangling with Nicolas Otamendi.
Sergio Aguero had a goal ruled out for offside by VAR and even though City enjoyed the greater share of possession, United sealed a crucial win with McTominay's strike to take their unbeaten run to 10 games in all competitions.
"It's a privilege to be their manager," Solskjaer told BBC Sport. "They give absolutely everything. They know they are all good players but they want to learn as well.
"We feel we are improving as a squad and a team. We feel the fans want us to do well and they see what we are doing, so it is getting better and better.
"But we are still fifth. We need points to catch Chelsea and Leicester, so need to keep plugging away."
Solskjaer sensing top-four finish
The jubilant scenes and the sound of his name echoing around Old Trafford at the final whistle will have been music to the ears of Manchester United manager Solskjaer.
The Norwegian, still to convince many of his suitability for the giant task of turning Manchester United's fortunes around, has now enjoyed three wins over Pep Guardiola and Manchester City this season - and this was surely the most satisfying day of the season at 'The Theatre Of Dreams'.
United may still be light years away from the glory days of old but victories such as this sustain hope, and the atmosphere inside Old Trafford as Solskjaer's side first held on to their advantage and then sealed the win was reminiscent of days gone by.
Manchester City may have enjoyed the greater share of possession but United showed great resilience and always carried a threat on the break.
Fernandes once again confirmed what a shrewd piece of business his signing was from Sporting Lisbon - although why wait so late in the window to sign him? - and why he is already a hero to United's fans.
The Portuguese has that touch of class and creativity while United had another outstanding performer in defender Aaron Wan-Bissaka, who won his battle with Raheem Sterling as he hounded the England star for 90 minutes and beyond.
Manchester United, who have looked off the top four for so much of the time this season, are now right in the fight and credit must be given to the manager who has helped fashion this impressive run.
"We feel we are improving all the time. We know we lack one, two, three players to be considered a title contender and some experience," said Solskjaer. "We are just going to start talking about going up the table, getting more points.
"Chelsea and Leicester are too far ahead for my liking."
Ederson's day to forget
Manchester City's defeat is hardly damaging in the context of their Premier League title defence - that was lost to Liverpool a long time ago.
Guardiola's concern, and admittedly he was without his star player Kevin de Bruyne, will be that once again his side had plenty of possession but did not create enough, not showing enough urgency until it was too late.
And he will be concerned by the performance of goalkeeper Ederson, who was over-confident throughout and paid a heavy price.
Ederson was not only badly at fault for both goals but almost gave away another when he allowed a routine pass to roll under his foot at the Stretford End, resulting in a desperate tackle on Martial almost on the goalline to spare his embarrassment.
Guardiola will be additionally unhappy about this defeat, not least because it was City's seventh of the Premier League campaign, making 2019-20 the season in which he has lost the most league games in his managerial career.
City now face home games against Arsenal and Burnley to get themselves in shape for the Champions League last-16 second leg meeting with Real Madrid, in which they hold a precious 2-1 advantage from the first leg in the Bernabeu.
Guardiola will hope Ederson has got this carelessness and over-confidence out of his system.
Man of the match - Aaron Wan-Bissaka (Man Utd)
'It was a good performance', says Guardiola
Manchester City boss Pep Guardiola to BBC Match of the Day: "We played good, we missed a little in the final third but the second half was better and it was a good performance.
"We play the same way, tried the press and defend well and we did well.
"Our game is there, we played really good in terms of coming here. They wait and did long balls on the counter-attack for Daniel James and Anthony Martial.
"We did our game but unfortunately we conceded a goal. They waited for our mistakes."
United's best run since Solskjaer's start - match stats
- United are unbeaten in their last 10 games (W7 D3); their longest run without defeat since Ole Gunnar Solskjaer's first 11 games in charge.
- This is the second time in Pep Guardiola's managerial career that he has suffered three defeats against a specific opponent in a single season (also versus Liverpool in 2017-18).
- Anthony Martial is only the second United player to score in three consecutive Premier League starts in Manchester derbies, and the first since Eric Cantona netted in five in a row between March 1993 and April 1996.
- Since making his debut in the competition on 1 February, United's Bruno Fernandes has been directly involved in more goals in the Premier League than any other player (five - two goals and three assists).
- Manchester City's Raheem Sterling became the fourth youngest player to reach 250 appearances in the Premier League, after Wayne Rooney, James Milner and Gareth Barry.
City host Arsenal on Wednesday at 19:30 GMT in a rearranged Premier League fixture, with United going to LASK in Austria in the Europa League the following day (17:55 GMT).
- 1de Gea
- 5MaguireBooked at 90mins
- 17FredBooked at 42mins
- 53WilliamsSubstituted forBaillyat 78'minutes
- 18Bruno FernandesSubstituted forIghaloat 88'minutes
- 9MartialSubstituted forMcTominayat 78'minutes
- 27CanceloBooked at 59mins
- 25FernandinhoBooked at 29mins
- 11ZinchenkoSubstituted forMendyat 77'minutes
- 20Bernardo SilvaSubstituted forMahrezat 59'minutes
- 16RodriBooked at 30mins
- 10AgüeroSubstituted forGabriel Jesusat 59'minutesBooked at 90mins
- 9Gabriel Jesus
- Mike Dean
- Shots on Target
Second Half ends, Manchester United 2, Manchester City 0.
Gabriel Jesus (Manchester City) is shown the yellow card.
Goal! Manchester United 2, Manchester City 0. Scott McTominay (Manchester United) right footed shot from more than 35 yards to the centre of the goal.
Harry Maguire (Manchester United) is shown the yellow card.
Foul by Raheem Sterling (Manchester City).
Scott McTominay (Manchester United) wins a free kick in the defensive half.
Riyad Mahrez (Manchester City) wins a free kick in the attacking half.
Foul by Nemanja Matic (Manchester United).
Attempt saved. Raheem Sterling (Manchester City) right footed shot from outside the box is saved in the centre of the goal. Assisted by João Cancelo.
Substitution, Manchester United. Odion Ighalo replaces Bruno Fernandes.
Corner, Manchester City. Conceded by Aaron Wan-Bissaka.
Corner, Manchester City. Conceded by Luke Shaw.
Offside, Manchester United. Daniel James tries a through ball, but Bruno Fernandes is caught offside.
Fernandinho (Manchester City) wins a free kick in the attacking half.
Foul by Daniel James (Manchester United).
Substitution, Manchester United. Scott McTominay replaces Anthony Martial.
Substitution, Manchester United. Eric Bailly replaces Brandon Williams.
Substitution, Manchester City. Benjamin Mendy replaces Oleksandr Zinchenko.
Attempt saved. Gabriel Jesus (Manchester City) right footed shot from the left side of the box is saved in the centre of the goal. Assisted by Raheem Sterling.