Wayne Rooney scored twice - one a free-kick and the other a penalty - and new recruit Shinji Kagawa netted the winner as the Red Devils came back from 1-0 and 3-1 down to win.
The win sets United up nicely as they seek to wrest back the Barclays Premier League title from Manchester City. United take on Everton a week on Monday in their first league fixture.
United created the first decent opening as Nani crossed from the right but Javier Hernandez could not apply a touch to finish the move. Michael Keane then contrived to miss an easy chance as Kagawa's cross initially fell to Hernandez, who fluffed it, and Keane panicked and scrambled the ball wide with the goal at his mercy.
Keane was presented with another great chance but scuffed wide after Nani's effort had been charged down by Hannover goalkeeper Ron-Robert Zieler. Hannover seized on those two let-offs to take the lead as United goalkeeper Anders Lindegaard could only parry Jan Schlaudraff's long-range strike and Artur Sobiech pounced on the rebound.
Kagawa's effort from the edge of the area was then tipped over by Zieler but United pulled level just after the half-hour mark. Rooney's shot from a Nani cutback was parried by Zieler but fell at the feet of Hernandez close to goal, and the Mexican made no mistake.
Lindegaard did well to tip wide a low shot towards his bottom right-hand corner by Konstantin Rausch and Zieler then produced a smart stop to deny Tom Cleverley after the Great Britain Olympian burst into the box.
Hannover restored their lead early in the second half as Christian Pander slung in a cross from the left and substitute defender Karim Haggui headed home from close range. Zieler then did well to divert a Hernandez shot wide with his body after the Mexican was played in by Rooney but the German side moved two goals ahead through a sublime goal.
Lars Stindl crossed from the right and Norway international Mohamed Abdellaoue produced an exquisite flick which gave Lindegaard no chance. Rooney quickly reduced the deficit with a curling, dipping right-foot free-kick but Lindegaard did well to hold on to a sweetly-struck Pander volley from long range.
United pulled level when Zieler fouled Rooney in the box and the England striker got back on his feet to tuck away the penalty and make it 3-3, and Kagawa completed a remarkable comeback with an angled finish after Rooney nodded the ball into his path.