Javier Hernandez's tap-in levelled Artur Sobiech's opener, but second-half strikes from Karim Haggui and Mohammed Abdellaoue put Hannover on the brink of victory with 25 minutes remaining.
However, Wayne Rooney cracked in a superb free-kick and converted a penalty, before teeing up Shinji Kagawa to fire in a neatly-worked winner with five minutes remaining. After four goals in total across the Reds' opening five tour games, seven had been scored in a breathless pre-season contest which featured some delightful attacking interplay from both sides.
After a low-key opening 10 minutes, United grasped control of an increasingly entertaining first half, and should have moved ahead after 13 minutes when Rooney's deflected pass released Nani, and the Portuguese's fizzed cross was missed entirely by Hernandez.
After Nemanja Vidic had volleyed over from Ashley Young's flick-on, the Mexican missed another presentable chance when Shinji Kagawa centred into a packed six-yard box. Though Chicharito initially lost his balance and missed the ball, he managed to squeeze a shot towards goal from a grounded position, only to see the ball deflect away off a heroic block from Christopher Avevor.
United's dominance seemed certain to yield the opening goal, but another chance went begging when Zieler closed down Nani's shot, only for defender Michael Keane to skew the ball off target with the goal gaping.
A minute later, Hannover punished United's profligacy as Jan Schlaudraff's shot was spilled by Anders Lindegaard, allowing Sobiech to nip in and lift a neat finish over the scrambling Dane.