A brace from the Polish striker stole the show for the home side, who wasted chance after chance but did enough to extend their lead at the top of the table
Robert Lewandowski struck in either half amid a myriad of chances to seemingly put the hosts on easy street, but a wonder goal by Didier Ya Konan brought the visitors back into the game.
However, a late goal from Ivan Perisic sealed the victory, as Dortmund complete their 17th match unbeaten and regain their four point lead at the top of the Bundesliga standings.
The hosts created the first chance, after a free-kick by Jakub ‘Kuba’ Blaszczykowski found its way through to Kevin Grosskreutz, who fired a low ball across the face of goal that Lewandowski somehow bundled wide from a few yards out.
However, Lewandowski made no mistake 10 minutes later, giving Dortmund the lead after latching onto a Lukasz Piszczek pass and powering his finish past Ron Robert Zieler’s near post.
Jurgen Klopp’s men were dominating, and continued to create chance after chance against a submissive Hannover outfit that were struggling to keep up.
With eight minutes to go until half time, Shinji Kagawa released Marcel Schmelzer through on goal, who could only flash his finish agonisingly wide of the far post.
The hosts went even closer moments later after an almighty goalmouth scramble saw a Piszczek cutback turned onto the post by Lewandowski, before his rebound was chopped off for offside.
Kagawa fashioned another great opportunity that was spurned by Kuba, before seeing his own shot from point blank range blocked by Emanuel Pogatetz as the visitors entered half time hanging on for dear life.
Dortmund picked up where they left off after the restart, with a poor header by Lewandowski betraying a great position deep in the box and a sumptuous cross by Piszczek.
Lewandowski was not to be denied a second though, and was on hand in the 55th minute to slot home after a brilliant piece of control by Kuba placed a cutback into his path right in front of goal.
It seemed like game over from Hannover, but they secured a lifeline out of nowhere after a moment of brilliance from Ya Konan on the hour mark.
The Ivorian, summoned from the bench only moments earlier, took aim 25 yards from goal and bent a shot superbly into the top corner that left Roman Weidenfeller with no chance.
Dortmund were quickly back on the offensive though, with Sebastian Kehl forcing Zieler into a smart save with an effort from distance, before the Hannover keeper was called into action again to deny Kagawa from close range.
Pogatetz provided a scare with a quarter of an hour to go, but his bullet header from a corner was fired straight into the arms of the grateful Weidenfeller.
Hannover began to exert considerable pressure as the match neared its end, but it was Dortmund who would have the last laugh, Perisic catching the defence napping to volley home a quick free-kick by Kuba to seal the victory deep into injury time.
The result sees Dortmund rack up their seventh straight win, and move four points clear of second-placed Bayern Munich at the top of the table. Meanwhile Hannover stay seventh, two points off the Europa League places.