The 187th Manchester derby started frantically but ended with the Premier League champions in cruise control as Pep Guardiola’s leaders restored their six-point advantage over Liverpool at the top of the standings.
De Bruyne’s early opener was superbly cancelled out by former City prospect Jadon Sancho, only for the Belgium star to strike his second and Mahrez to grab a second-half brace in a deserved win against Ralf Rangnick’s wretched Red Devils.
It was a rare Etihad Stadium defeat for United, whose hopes of a fourth straight away win on enemy turf in all competitions were hit inside five minutes when the hosts all too easily sliced them open.
The shine was taken off De Bruyne’s 50th Premier League goal when Sancho ended a great United break with a fine finish, but the 30-year-old would soon have another when firing home during a melee.
The Belgium playmaker turned provider when Mahrez lashed home from his corner – via a slight touch off hapless Harry Maguire – and the Algeria international adding to the party atmosphere by grabbing another at the death after a VAR review.
This is just the second time City have done the double over United since Guardiola took over and represented a second league loss under Rangnick, who was without Cristiano Ronaldo, Edinson Cavani, Raphael Varane and Luke Shaw on Sunday.
The interim boss decided to play Paul Pogba and Bruno Fernandes as a front two against City, who all too easily bypassed United’s front six in the fifth minute.
Bernardo Silva ended up with the ball and linked up with Jack Grealish down the left, before cutting back from the byline for De Bruyne to score from close range. United had somehow failed to track him.
Fred saw hopes of an immediate leveller stopped and City continued to edge proceedings, with De Bruyne seeing a shot blocked before forcing David De Gea into a low save.
But United looked well placed to counter and did so superbly in the 22nd minute.
The visitors attacked at pace and Pogba put Sancho through. The 21-year-old had a lot to do given he was up against Kyle Walker, but he cut past him and Rodri before bending a strike into the far corner from the edge of the box.
Sancho celebrated in front of City fans but that joy was short-lived.
Phil Foden sent a looping header onto the woodwork and produced a moment of magic in the 28th minute, when he superbly flicked the ball over Victor Lindelof and fired at De Gea.
The United goalkeeper stopped that effort and Silva’s follow-up shot was blocked by Maguire, only for Alex Telles to inadvertently poke into the path of De Bruyne to score his second.
Foden dragged across the face of goal as City hunted a third after a brief break in play to help a fan in the South Stand, with De Gea saving well after Mahrez cut in from the right to get away a goal-bound strike just before the break.
United were restricted to half-chances and Aaron Wan-Bissaka looked intent on helping City extend their lead early in the second half – something Guardiola’s side did not need any help with given their intense, free-flowing start.
Mahrez bent narrowly over from a set-piece routine during a sustained period of pressure, with De Bruyne fizzing a well-placed free-kick through the wall but straight at De Gea.
Maguire was booked for a mistimed tackle on De Bruyne during that period, when Joao Cancelo came closest to scoring for United when getting back to deny Anthony Elanga and lashing over his own goal.
Any hope of a comeback was extinguished in the 68th minute. De Bruyne fired over a corner from the left and Mahrez met it with a superb half volley that flew in via a slight touch off Maguire.
The Algeria winger had another attempt and Cancelo tried an audacious acrobatic effort that would have gone down in derby folklore had it found the net.
City fans were in party mode. Mahrez and substitute Ilkay Gundogan had attempts, before the offside flag denied the former his second of the day.
But the video assistant referee intervened to overturn the initial decision and complete a 4-1 win.