Pierre-Emerick Aubameyang scored twice as Borussia Dortmund battled to a 3-2 victory over Hannover, whose poor form in the Bundesliga continued on a dramatic afternoon.
Despite their recent poor form, Hannover made a bright start to the game and could have been ahead had Jimmy Briand not sent a wayward effort over the crossbar after collecting a loose ball.
However, the promising start counted for nothing when Dortmund took the lead through Aubameyang, who fired a low shot past Ron-Robert Zieler after being picked out by Marco Reus.
The response from the home side was impressive, and they were back on level terms just after the half-hour mark when Leonardo Bittencourt found the space to deliver an inch-perfect pass which was tapped in by Lars Stindl.
Hannover should have been ahead before the break as a patient passing move ended with Bittencourt dragging a poor effort past the post.
Tayfun Korkut's side came agonisingly close to finding the net early in the second half, but Mats Hummels responded superbly to clear Joselu's header off the line.
Dortmund were gifted the advantage before the break as Bittencourt picked up two yellow cards in the space of five minutes to leave his side to battle with 10 men for the rest of the match.
It didn't take long for the visitors to capitalise, and it was Reus who played the role of creator once again as he slid a pass into the path of Shinji Kagawa, who finished calmly to earn the lead for Jurgen Klopp's side.
Hannover were left stunned by the setback, and Aubameyang helped himself to his second goal of the afternoon after being picked out by the influential Kagawa.
Predictably, Dortmund looked comfortable for long spells, with Reus coming close to capping off a fine display when he rattled the post.
Despite struggling to compete after losing Bittencourt, Hannover set up a dramatic finish when Stindl picked out the top corner with a stunning effort from the edge of the box.
Dortmund's vulnerable defence managed to survive the late pressure as they recovered from a difficult week to keep their European qualification hopes alive.