Pep Guardiola’s side went two goals ahead early on and appeared to be cruising to a 19-point lead at the summit of the table with just six matches remaining, which would have been a Premier League record.
But United had no intention of losing their long-standing milestone – set by the dominant 2000/01 team with five games to spare – and produced a dramatic turnaround in the second half.
Despite playing for a historic title win, Guardiola made four changes for the visit of United – dropping the likes of Kevin De Bruyne and Kyle Walker – with one eye on Tuesday’s Champions League quarter-final with Liverpool.
City still made the more impressive start, and it was fitting that long-serving skipper Vincent Kompany netted the opener with a virtual carbon copy of the famous header he scored six years ago against United.
A few minutes later they appeared out of sight; if the first goal was pure power, this one was pure precision.
David Silva, at the heart of every sweeping City attack, played it wide to Raheem Sterling who flicked the ball inside to Ilkay Gundogan, with the German superbly spinning Nemanja Matic inside the box and driving the ball into the bottom corner.
United looked punch-drunk for the rest of the half, with City cutting through them at will – Sterling twice missed when through one-on-one in the first half – and it looked like turning into damage limitations.
But Mourinho got into his side at half-time and they were noticeably more aggressive after the restart, with Paul Pogba inspiring a quick-fire comeback
First, he darted into the box, latching onto a superb chest-down from Ander Herrera to rifle the ball past Ederson, and then he made a great run from deep to latch onto Alexis Sanchez’s cross and bury the ball into the bottom corner – he immediately cupped his hand to his ear in celebration.
But United did not stop there, with Chris Smalling – at fault for the opener – turning from villain to hero by burying Sanchez’s whipped free-kick and completely flipping the match on its head.
As City pushed for an equalizer, tempers began to flare and there were several heated moments; Substitute Sergio Aguero appeared to be fouled inside the box and seconds later Fernandinho hacked down Jesse Lingard, with Pogba rushing to confront the Brazilian as the players squared off.
With time running out, Aguero looked set to score only for David de Gea to add yet another wonder save to his ever-growing collection, and then Nicolas Otamendi’s header deflected off Sterling and hit the post.
Referee Martin Atkinson was handing out yellow cards for fun by the end of the game and City’s players lost their heads as the minutes ticked away, though there are still a host of records – including biggest title-winning margin, most points, most goals, most wins and best goal difference – they can claim in what should still be a historic season. But today their party was well and truly spoiled by United and Pogba.