Hannover substitute Mame Diouf scored five minutes from time to extend the hosts' unbeaten run at home to 22 straight matches and deny Dortmund, who had scored with Robert Lewandowski, their first back-to-back league wins this season.
The result means Dortmund, who also had three players injured in the game, drop to fourth on 12 points.
Bayern Munich beat Hoffenheim 2-0 on Saturday to record their seventh successive league win for a maximum 21 points.
Second-placed Eintracht Frankfurt are on 16 after their unbeaten run this season ended when they went down 2-0 at Borussia Monchengladbach earlier on Sunday.
Hannover are in fifth on 11 points, level with Bayer Leverkusen who drew 2-2 at VfB Stuttgart in the other late game on Sunday.
"Fouls were being awarded against my very clean team almost every second," Dortmund coach Jurgen Klopp told reporters. "Everyone needs ice packs - tendons, ligaments, everything."
"We should have finished off the game with our quick breaks. But I am not too interested in our gap with Bayern. I am more interested in the two games we still have to play against them this season."
Visitors Dortmund, fresh from their 1-1 draw at Manchester City for the Champions League, were forced to work hard against the Europa League competitors from the start.
They had keeper Roman Weidenfeller to thank for denying Hanover a fifth-minute lead after saving Artur Sobiech's long range effort.
Dortmund struck in the 26th minute with Lukasz Piszczek cutting back for fellow Poland international Lewandowski, who had no trouble beating his marker and tapping in from two metres out.
The striker then turned provider on the half hour mark to set up Poland captain Jakub Blaszczykowski whose low drive whizzed narrowly wide.
Hannover came close to equalising on the stroke of half-time when Didier Ya Konan chased down a Jan Schlaudraff pass, rounded Weidenfeller but saw his effort saved on the line by Piszczek.
Dortmund, who had to substitute defender Mats Hummels, Blaszczykowski and Sven Bender because of injuries, responded with a Pizszczek shot on the post before Weidenfeller's spectacular save on the hour from a reckless Piszczek clearance.
With Hannover piling on the pressure, Mame Diouf is unlikely to forget his missed chance when with 12 minutes left he found himself in front of an empty goal but miskicked from a metre out to send the ball into Weidenfeller's arms near the post.
The Senegalese forward, however, made amends towards the end, tapping in after Dortmund had failed to clear a deflected free-kick.
Borussia Monchengladbach ended promoted Frankfurt's surprise unbeaten run in the Bundesliga for their first win since August.
Venezuelan Juan Arango's long-range thunderbolt and Dutchman Luuk de Jong's 25th-minute strike were enough to end Gladbach's five-game winless streak stretching back to
Get the best features, fun and footballing frolics straight to your inbox every week.