Martin Harnik gave the hosts the lead early on, but two quick goals from Artur Sobiech and Salif Sane turned the game in Hannover's favour.
Vedad Ibisevic brought Stuttgart level before the break and further goals from Ibrahim Traore and Konstantin Rausch earned the Swabians all three points.
Coach Thomas Schneider fielded the youngest Stuttgart side since October 1987, when a young Jurgen Klinsmann was already making a name for himself, but there were no signs of immaturity.
One of their youngest players, 20-year-old Moritz Leitner, set up Harnik to give them the lead in the 13th minute, the Austrian forward ghosting in unmarked at the far post to score from close range.
Stuttgart shot themselves in the foot moments later when Daniel Schwaab and goalkeeper Sven Ulreich got in each other's way and Sobiech accepted the gift, stealing in between them and tucking the ball into the vacated goal.
Three minutes later, Sane put Hannover in front with a brave header from Szabolcs Huszti's free-kick.
Stuttgart responded well to the first signs of despondency among the Mercedes-Benz-Arena fans and Harnik sent in a cross for Ibisevic to head them back on terms just two minutes later.
The home team regained the lead in the 51st minute when Traore resisted the temptation to tee up Ibisevic, who had drifted into an offside position, and instead chose to drive a powerful angled shot into the far corner of Ron-Robert Zieler's goal.
Victory was then sealed by Rausch, who just beat the offside trap before curling in an effort with the outside of his left foot, although out of respect for his former club he refused to celebrate his goal.