Lars Stindl, Jan Schlaudraff and Szabolcs Huszti were all on target in the second half for Tayfun Korkut's men, who open up a nine-point gap over the bottom three ahead of Sunday's fixtures.
Berlin can practically wave goodbye to their chances of playing in Europe next season after a crushing home defeat.
It did not look like Jos Luhukay's men were going to come away empty-handed, though, as they dominated the first half.
Adrian Ramos missed two good chances to add to his 15 goals so far this season, slipping at the vital moment with his second attempt.
Berlin goalkeeper Thomas Kraft had been a mere spectator for much of the first half until Leonardo Bittencourt flashed a shot just wide of his goal.
Ramos missed a third big chance early in the second half before Hannover struck with an excellent team move, started and finished by Stindl and involving both Huszti and Bittencourt.
Having taken the lead Hannover got men behind the ball to defend the points.
In doing so, they invited Berlin to attack, but also to leave gaps at the back which the visitors exploited at the first opportunity.
Bittencourt and Schlaudraff found themselves in a two-against-one situation, and the on-loan Dortmund midfielder timed his pass to perfection to send the former Mainz and Bayern Munich forward through.
He skipped past Kraft to score his first goal since November 2012.
As Berlin tried to find a route back into the game, another mistake was capitalised on with Didier Ya Konan putting the ball through for Huszti who, with a burst of pace, skipped into the area and sent his shot past Kraft to seal a rare away win for Hannover.