The home side were regarded as the closest City had to title challengers and for 40 minutes it was a very intriguing chess match. The away side took the lead through David Silva, the Spaniard scoring from close range after Romelu Lukaku failed to clear a corner.
José Mourinho would have been the happier of the two bosses going into half-time after Marcus Rashford capitalised on Nicolas Otamendi's mistake to smash home the equaliser in first-half injury time.
Nine minutes into the second half, City took the lead again and they had Lukaku to thank for the opportunity. Another failed clearance landed at Otamendi's feet and the Argentine defender volleyed past David de Gea.
City are now 11 points clear of their rivals in second, with 14 points separating them and Chelsea in third.
Here are five things we learned from Manchester City's 2-1 win over United
You Can Never Switch Off
Playing against Manchester City is a tough task for any team. The movement of the midfield and front-three needs constant attention. After 43 minutes of bombardment, it took just one set-piece for City to score.
Jesse Lingard misjudged the corner kick, you can say that Lukaku was fouled by Otamendi, but United switched off for just a split second and found themselves behind.
You will always be more wary of Guardiola's team from open play, but that was a stark reminder that you can't rest for even a second. Their gameplan is built to tire you out, force you to make mistakes and they are one of the best at punishing your errors.
United were made to pay again in the second half. Lukaku failed to clear a set-piece convincingly and the resultant rebound was smashed home by Otamendi.
Just when you think you are doing a good job at limiting City's attack, they will find a way to punish you.
Mixed Midfield Performance From United
Without Paul Pogba, the spotlight was always going to be on Mourinho's midfield. The Portuguese boss started with Jesse Lingard in front of Nemanja Matic and Ander Herrera.
No one made more passes in United’s team than Matic (36), and Herrera was just behind on 32. The home side as a unit only completed 69 per cent, but the Serbian’s 72.2 per cent and the Spaniard up at 81.3 per cent, were not the problem.
Given very little time on the ball, they did what they could. Defensively, they tried their best, Matic winning one tackle, four interceptions and one clearance. Herrera even more productive winning four tackles, and five interceptions.
Their job on Sunday was to try and keep Kevin De Bruyne and David Silva quiet, Matic was tasked with man-marking the Belgian for the first minutes, then it was Spaniard against Spaniard.
Apart from Silva's goal for the opener, you could make an argument towards United's duo doing a fairly good job.
Where they struggled was with fouling their City opponents and conceding possession cheaply. Both lead their team in fouls with three each.
Undoubtedly, they missed the abilities of Pogba, but the game wasn’t lost because of his absence.
Finding United's Failings
When playing on the counter attack, you need two main things. Accurate passes from deep and a centre-forward who can hold up play and bring others in.
On Sunday, United failed on both accounts.
With just 27 touches during 90 minutes, Lukaku found his target with 37.5 per cent of his passes. The big Belgian won six aerial challenges, which is excellent, but he lead his team in being losing possession with five.
On his flank were Anthony Martial and Marcus Rashford, and they didn’t fare much better. They combined for eight dispossessions and a high of 71.4 per cent pass completion.
Another factor in the poor performance was the quality of the outlet ball from the defenders. It got better when Victor Lindelöf came on at half-time, finishing with 80.7 per cent completion – however, Marcos Rojo on 38.9 per cent and De Gea on 56.3 per cent is very poor.
Overall, United completed 69 per cent of 325 attempted passes. When you are trying to hit on the break, and it’s not against Arsenal’s terrible defence, you need to play at a higher level.
City Better Movement Without Agüero
Eyebrows were raised when Guardiola decided to start Gabriel Jesus in place of Sergio Agüero on Sunday, but in hindsight, it was a good move.
Leroy Sané appeared on both sides of the flank, switching from left to right throughout the match. Jesus started through the centre, but quickly moved to the left.
The most interesting move was Raheem Sterling's position as a false nine for the majority of the game. You can see his touch map from Sunday, he spent a lot of time through the middle.
All three of his shots came within the width of the goal posts and he was a constant menace to the United back-line.
This could be the next move in Sterling's evolution under the Catalan boss, something to keep an eye on.
Goalie Worth Their Weight In Gold
Last weekend, De Gea was United's hero. He made a tremendous double save and kept Arsenal at bay. Without the Spaniard, United would not have been in the position to win the game.
On Sunday, the 27-year-old made a number of impressive saves once again, but he was upstaged by his opposite number. With the game tied 2-1, going into the final moments, United conjeured up their best move of the match.
Zlatan Ibrahimović holding the ball up, he found Martial who found Lukaku, but the Ederson stood big and strong and made a great stop. He then had the sense to get up, make himself big again before stopping Juan Mata.
It was an incredible play and it won City all three points. He may not have had much to do during the game, but he repaid his transfer fee with that one superb moment.
Exactly what you want from your big summer goalkeeping signing.