United had the ball in the net with just three minutes played as a swift, incisive break opened up the home side with James Weir picking out Joe Rothwell who smashed home. Celebrations were cut short though, offside the ruling - an incorrect ruling and Boro were given a let off.
It was United who dictated the pace of the game in the early exchanges and Joe Fryer was in action soon after the disallowed effort, moving well away to his right to gather a low shot from Joe Riley.
A darting run from Jordan Jones took him into the United penalty area and won Boro a corner, but United, with five players who were involved in yesterday's first team game against Arsenal in the side, hit back and Rothwell, again set up by Weir, flashed a volley just wide.
Back came Boro with a timely reminder they were to be reckoned with and Arnel Jakupovic shot low from the edge of the box and Joel Pereira needed a second chance to grab the strike.
Fryer was well placed to deal with United's next effort, a powerful header from Devonte Redmund who rose to meet a right-wing corner.
A minute shy of the break, Weir drove down the United left, laying the ball across to Andreas Pereira on the edge of the area, but his low, fizzing effort flew just wide of Fryer's right-hand post.
Half-time: Boro 0 Manchester United 0
A bright start to the second half from Boro had United on the back foot and Tom McAloon had a shot saved after cutting in from the right.
Another powerful run from McAloon had United stretched as the home side looked for a way through.
They didn't have too long to wait as a goal, deserved as a result of a positive attitude, as a lovely crossfield ball found Callum Johnson surging forward on the right, his first touch one of real quality, taking the ball away from substitute Warren and into the area. Having driven to the byeline, Johnson cut the ball back, the initial shot was blocked and fell kindly to Callum Cooke who rifled into the bottom corner from 12 yards with 53 minutes played.
But it was United who came back into the game, as a through-ball set Weir through on Fryer, only for his control to let him down and with the ball drifting through to the Boro keeper, the United captain went down under pressure from Burn.
The referee awarded the visitors a penalty and dismissed Burn for a challenge on Weir who looked to have over run the ball. It looked a harsh decision and was certainly a game-changer on 69 minutes.
Andreas Pereira was the man to rifle United level, driving straight down the middle of Fryer's goal to level proceedings.
Eight minutes from time, United went in front for the first time in the game. A surging from Joe Rothwell ended with drilled a ball across the six yard box and in following a deflection of the helpless Nathan McGinley on the line under pressure from McTominay to complete the comeback.
Defeat here and a win for Leicester away to high-flying Sunderland means Boro, with games in hand, drop into the relegation zone.
Boro: Fryer; Johnson, Burn (Capt to 69), Elsdon, Kitching, Maloney, Jones (Capt. from 69), Pattison, Jakupovic, Cooke (McGinley 71), McAloon (Morelli 78). Subs: Pears (gk); Wheatley.
Man Utd: J Pereira; Love (El Fitouri 28), Williams, McNair, Riley (Warren 46), Poole, Rothwell, Redmund, Weir (Capt.), A Pereira, Januzaj (McTominay 59). Subs: Henderson, Mitchell.
Referee: Glen Hart
Sent-off: Burn, 69, foul.
Bookings: El Fitouri 66, foul,