The England winger's first half goals were added to by Chicharito late on despite Cristiano Ronaldo's introduction from the bench in the second half
In front of a crowd of 109,318 at Michigan Stadium - a record attendance for a game of football in the United States - Ashley Young netted twice in the first half either side of Gareth Bale's penalty.
Real posed more of a threat in the second half, but substitute Chicharito added a late third to ensure Louis van Gaal's side topped Group A.
Inter's 2-0 win over Roma earlier in the day had momentarily sent Walter Mazzarri's men to the summit of the group, and United knew they needed to avoid defeat in 90 minutes against Real to usurp the Italian side and book their place against Liverpool in Monday's final.
United looked sharper for much of the encounter, although there was an injury concern as Danny Welbeck was forced off shortly before the break.
Real, unable to qualify before play began, introduced Cristiano Ronaldo off the bench for the final 15 minutes, but the Portugal star was unable to make much of an impression against his former club.
United started the better of the two sides without carving out any clear goalscoring opportunities, Darren Fletcher's 20-yard drive wide of the post representing their best effort in the opening 15 minutes.
The Premier League side were rewarded for their dominance in the 21st minute, going in front courtesy of a glorious team move.
After Fletcher exchanged passes with Wayne Rooney, the ball was worked on to Welbeck, who teed up Young to place a finish inside Iker Casillas' near post.
Real were level six minutes later, though, Bale converting a spot-kick after he had been hauled down by Michael Keane on the left-hand side of the area.
Rooney thumped in a shot from 30 yards that was comfortable for Casillas before Bale brought a smart stop out of David de Gea with an acrobatic overhead kick 10 minutes prior to the interval.
Two minutes later, United were back in front as Young's teasing cross from the left crept in at the far post with Rooney failing to make any connection with his head.
There was concern for Van Gaal as Welbeck hobbled off to be replaced by Wilfried Zaha, while Juan Mata snatched a volley wide following a clever free-kick routine involving Rooney.
At the start of the second half Bale terrorised Keane once again, breezing past him down the left before cutting back to Isco, whose shot was held by De Gea.
The Welshman continued to pose a threat and struck the outside of the right-hand post with a dipping free-kick in the 55th minute.
Substitutes Shinji Kagawa and Chicharito combined in the 71st minute, but the latter saw his weak prodded effort saved by Casillas.
Chicharito went agonisingly close seven minutes later, failing to get sufficient contact on Jesse Lingard's inviting cross from the right.
The Mexican made no mistake 10 minutes from time, however, diving in at the far post to head Kagawa's perfectly weighted cross into the net and round off an impressive performance from United.