On an engrossing day of Premier League football in England, Pep Guardiola's City humbled United the season's first Manchester derby even as other title rivals faced contrasting fortunes Sunday.
Manchester City stormed back to the top of the league with a facile 3-1 derby win at home to Jose Mourinho's United. Meanwhile title rivals Liverpool maintained their unbeaten run with a comfortable 2-0 victory over Fulham.
But Chelsea and Arsenal were denied wins by Everton and Wolves at their respective home games. Chelsea, like the top two, remain unbeaten under Maurizio Sarri but lost ground in a goalless draw at home to Everton.
Arsenal also missed the chance to leapfrog North London rivals Tottenham into fourth and needed Henrikh Mkhitaryan's late equaliser to salvage a 1-1 draw with Wolves at the Emirates.
After the end of 12 rounds, City remain two points clear of Liverpool, but open four-point gap on third-place Chelsea.
A fourth league defeat of the season leaves United languishing in eighth, 12 points off the top.
Goals early in each half from David Silva and Sergio Aguero left City in a commanding position before an Anthony Martial penalty gave United hope of a comeback.
But Ilkay Gundogan put the result beyond doubt four minutes from time with a third goal that crowned a sublime 44-pass move.
"I think Man City right now and Liverpool, Chelsea, and even Arsenal and Tottenham, I think they have numbers to be champion, not just City. We're just two points in front," said City boss Pep Guardiola.
"What is important is that we are consistent, that we play most of the time good, and always I see many things that we can improve."
'Fight for top four'
United manager Mourinho accepted his side are now just fighting to try and make the top four having finished second to City last season.
"Since the beginning of the season, we knew that our second position last season was a fantastic achievement for us, and this season we are going to fight for the top four," said Mourinho.speak about the title you need to be in the top positions. So let's fight to close the gap and jump into the top four, if one day we jump into the top four, we'll see what the difference is."
United scored twice in the closing five minutes to secure a hard-fought 2-1 win away to Juventus in the Champions League on Wednesday, while City thrashed Shakhtar Donetsk 6-0 at the Etihad.
And Mourinho used his side's tougher preparation to excuse the gulf in class.
"Everybody has to agree, it is one thing to go to Juventus and play against one of the best teams in the world for 90 minutes, another thing to beat Shakhtar Donetsk at home 6-0 and be very relaxed," said Mourinho.
"We arrive in different circumstances." Earlier, Liverpool briefly went top by inflicting Fulham's seventh straight defeat at Anfield.
But they needed a huge slice of luck in 14 seconds that completely changed the game shortly before the break.
Aleksandar Mitrovic headed home for the visitors only to be wrongly ruled offside.
The hosts quickly broke upfield as Alisson and Trent Alexander-Arnold freed Mohamed Salah to score his eighth goal of the season.
"The most important thing is reacting in a situation like that and that was brilliant. Allison, Trent, Mo and done, it was a fantastic situation," said Liverpool manager Jurgen Klopp, whose side put the result beyond doubt when Xherdan Shaqiri made it 2-0 in the 53rd minute.
Chelsea dominated possession at Stamford Bridge, but could not find a way past the inspired Jordan Pickford in the Everton goal to leave Sarri frustrated.
"At the beginning, we moved the ball too slowly, so it is easy for the opposition to defend and impossible for us to be dangerous," bemoaned Sarri.
Arsenal were in danger of defeat for the first time since August after falling behind to Ivan Cavaleiro's 13th-minute goal before Mkhitaryan came off the bench to rescue a point for the Gunners.