In a tense, edgy derby, the Blues gradually took command after the break to seal a victory that takes the defending champions back above Liverpool with three games remaining for both clubs.
It was City’s eleventh straight Premier League victory as this absorbing title race saw the lead at the top change for the 28th time this season.
What happened?
The game didn’t start at the frenetic pace many predicted as both teams weighed each other up.
United seemed to be looking for a lift to get the Old Trafford crowd behind them and a rushed clearance from Vincent Kompany did exactly that as the Blues were perhaps guilty of overplaying a tad.
Keeping the home fans quiet was a vital early ingredient for City in the 178th meeting between the Manchester clans.
United put together one or two threatening moves before City twice came close to opening the scoring, first with a deflected Raheem Sterling shot that almost wrong-footed David de Gea and then as Bernardo thumped a powerful shot from 18 yards out but de Gea beat the ball away.
Moments later Ederson saved bravely as Marcus Rashford raced into the box and Fernandinho then twice prevented United breaking through as he first cleared a dangerous free-kick and then made a superbly-timed tackled to stop another counter-attack.
The Blues finished the half strongly as Sterling came close to finishing a superb move involving David Silva, Ilkay Gundogan and Sergio Aguero with the England winger collecting the ball, dancing past two challenges before seeing his low drive saved by de Gea from six yards.
City started brightly after the break with Bernardo’s excellent run at the United defence, but a combination of Sterling and Silva failed to get a shot in.
The excellent Fernandinho then made a superb block-tackle as Paul Pogba shaped to shoot from the edge of the box – and that would prove the influential Brazilian’s last act as he limped off shortly after.
But a tactical reshuffle immediately seemed to give the Blues better balance and intensity and on 55 minutes, the vital breakthrough.
Gundogan, now in the midfield anchor role, advanced and then shifted right to find Bernardo where the Portuguese ran at the Reds’ defence with intent before squeezing a low shot past de Gea to send the City fans wild.
And the Blues came within a whisker of doubling the lead just minutes later with a move that cut the United defence to shreds and ended with Aguero’s low shot smacking the outside of the post.
United however, almost levelled in their next attack as a miscued Kyle Walker clearance was clipped in the six-yard box by Rashford and Jesse Lingard somehow failed to tap home, thanks largely to Kompany’s attempt at a clearance.
If the City fans’ nerves were frayed, the goal had eased some of the tension - if not quite all - and a Pogba free-kick was fired into a wall that looked far more solid than the one that conceded easily against Crystal Palace.
Then on 66 minutes, the Blues struck what proved to be a decisive blow.
Sterling collected the ball well inside his own half, span and went past two challenges with ease before passing to the advancing Sane who powered a shot low and hard past de Gea to double City’s lead.
It was a crucial moment in the game, and it killed United’s spirit.
City controlled the remaining 25 minutes without too many scares to seal an eleventh successive Premier League win and move back to the top of the table with just three games remaining.
What it means?
The Blues have now played the game in hand over Liverpool and need three more wins to guarantee the Premier League title – though the defending champions know there are more difficult hurdles still to clear.
City have also now scored 157 goals this season - more than any other top flight club has ever managed before. Incredible.
Star man: David Silva
Industry, experience and grace from the Spaniard who kept things ticking along with clever movement and passing throughout.
What’s next?
City travel to Turf Moor to face Burnley on Sunday with a 2.05pm kick-off.