The Premier League leaders were caught cold after conceding a first minute penalty and never really recovered, going further behind just after the restart.
City couldn’t have made a worse start with a clumsy tackle by Gabriel Jesus on Anthony Martial with only 38 seconds resulting in a converted Bruno Fernandes penalty after just two minutes.
United seemed to be using the same formation and tactics that saw them dominate the opening period of the 2019 Etihad derby when City struggled to contain the Reds’ forward line.
City could have fallen further behind in an uncharacteristically jittery first few minutes, but gradually settled and started to threaten at the other end, though there were a number of moments when the pass was found wanting.
The half ended with City looking much more potent, but without really testing Dean Henderson.
Rodrigo struck the crossbar just three minutes after the restart as City pressed for an equaliser, but moments later a quick counter-attack saw Luke Shaw double the visitors’ lead with a low shot past an unsighted Ederson.
It was always gong to be a long way back from there, even for this City side who were far from our scintillating best.
Off-colour City’s pain
Pep Guardiola has said throughout our magnificent unbeaten run that his team would eventually drop points and get beaten.
That it came against Manchester United made it all the more painful.
Now, the boss will want to see how his players react to a set-back that will have hurt the Premier League leaders’ pride.
City remain well clear at the top but will want to bounce back immediately with games against Southampton and Fulham in the next six days.
All to play for, City…
As much as defeat to United hurts, put in context, it’s a minor set-back for a side still chasing four major honours.
With a healthy lead at the top of the table, a Carabao Cup final to come, a quarter-final with Everton on the FA Cup and a 2-0 advantage in the Champions League Round of 16 against Borussia Monchengladbach.
Derby losses are bitter pills to swallow but looking at the bigger picture, it’s a hiccup in an almost flawless campaign to date.
What it means
City are 11 points clear of second-placed Manchester United with 10 games remaining.
Our winning run of 21 games ends along with a 28-game unbeaten run.
City take on Southampton on Wednesday evening at the Etihad (kick-off 6pm).
Then it’s off to Craven Cottage to take on Fulham next Saturday evening (8pm kick-off).
"In football everything can happen – everything can happen it is a fact – we can win the next games or we can lose the next games.
"People always say 'Pep says the same after 16 or 17 wins' - it is because I know everything can happen.
"We have done incredible, but today the news is we lost so congrats Man United for this victory but we are trying to win the Premier League.
"We will try to be champions and we need to win six or seven games and now when you arrive in the last 10 games, everything is going to be shorter.
"Our opponents would have to win all their games and then we would have to lose for or five.
"What we need to do is recover, tomorrow I will not I will speak to the team and the way we played today and on the day of the game I will tell the team how incredible they are because of the way we lost today and kept going to the end.
"Having the margin we have; it is in in our hands but what we need now is new fresh legs next Wednesday and try to win another game."
Man Utd: Henderson, Wan Bissaka, Lindelof, Maguire, Shaw (Williams 90+3), McTominay, Fred, James, Bruno Fernandes, Rashford (Greenwood 72), Martial (Matic 88)
Subs: Bailly, Grant, Diallo, Alex Telles, Tuanzebe, Shoretire.
News about Man City v Man United
Man City Podcast | City's 21-match winning run ends
Our winning run is over. Watch more.
Guardiola: City will regroup and step up our push for the title
Pep Guardiola says City will regroup and strive to instantly bounce back in our pursuit of the Premier League title against Southampton in midweek in the wake of Sunday’s derby loss to Manchester United. Read more.
City will come back stronger, pledges Zinchenko
Oleks Zinchenko says City will heed the lessons of our derby defeat to United and look to come back even stronger. Watch more.
City 0-2 United: Short highlights
CityTV's brief match action package from the Etihad... Watch more.
City 0-2 United: Extended highlights
Extended action from the Manchester derby... Watch more.
Pep Guardiola: We’ve played worse and won
Pep Guardiola says City’s Manchester derby performance was better than what we have produced in some of the games we have won this season. Watch more.