Goals from Mats Hummels, Robert Lewandowski and Marco Reus earned Jurgen Klopp's side all three points to keep Dortmund in second place and delay the inevitable, with Bayern Munich's win over Mainz not quite enough to clinch the league trophy.
With 23 points separating the leading two sides and eight rounds of games to go, however, Dortmund know they are only playing for second place.
Hannover still have some way to go before securing their top-flight status, meanwhile, with only six points separating them from the bottom two.
There was no indication of what was to come as Hannover made a bright start to the game - their first since their long-serving American defender Steven Cherundolo announced his retirement.
Andre Hoffmann went close to breaking the deadlock with a shot which rattled the frame of the goal from Szabolcs Huszti's free-kick.
Huszti's set-pieces continued to cause Dortmund problems, with Jurgen Klopp's men struggling to find an answer until two minutes before the break.
Against the run of play, Kevin Grosskreutz's cross was flicked on by Sokratis Papastathopoulos to Hummels, who was given the easy task of turning the ball in unchallenged from close range.
Hannover's resistance was broken again just seven minutes into the second half when Henrikh Mkhitaryan gave Lewandowski the one sight of goal he needed to net his 16th goal of the season, after leaving four Hannover defenders in his trail.
Huszti kept trying to create something for the hosts, but it was clearly not their afternoon.
In spite of their efforts, they were caught out once again in stoppage time when another delightful assist from Mkhitaryan set up Reus who rounded Ron-Robert Zieler before slotting the ball into the open goal.