The Reds took the lead twice in the game - through Jesse Lingard after 15 minutes and Larnell Cole early in the second half - only for the Blues to turn the tie around.
United's opener - the only goal in a tight first period - was gifted by a collision between the Blues goalkeeper Eirik Johansen and one of his defenders, as both went to meet Will Keane's long pass through the middle. The ball bounced through for Lingard to slot into the empty net with embarrassing ease.
The Reds' lead was cancelled out a few minutes after the interval when Michael Keane was found guilty of handball just inside the penalty area. Harry Bunn's initial penalty was blocked by Tomasz Kuszczak's legs but City's number nine reacted quickest and converted the rebound.
Larnell Cole restored United's advantage when he tapped in at the end of a wonderful team move, instigated by Will Keane's driving run down the left flank and lay-off to Joshua King. But the visitors would soon find the net twice to turn the tie on its head. Omar Elabdellaoui set up the equaliser - raiding down the left and pulling the ball back for substitute Guy Assulin to finish - and then hammered in City's third goal when a corner was played into his feet at the edge of a packed penalty area. A fourth goal in injury time flattered City as Kuszczak was beaten from close range by sub Jordi Hiwala to put a gloss on the scoreline for Andy Welsh's team.
City leapfrog Warren Joyce's charges at the top of the Manchester Senior Cup table and Bolton have the chance to overtake United if they beat City by three goals in their final fixture.