Hannover earned their place in the Bundesliga next season and sent Freiburg into the second division with a 2-1 win.
Hannover celebrated their first win of 2015 to move out of the bottom three with a 2-1 victory over Augsburg.
Hannover dropped two crucial points as Zlatko Junuzovic grabbed a late equaliser for Werder Bremen.
Schalke ended a six-game winless run as Wolfsburg slipped to defeat, plus all the latest from the Bundesliga.
Hannover fought back from two goals down to take a point at second-placed Wolfsburg in a 2-2 draw.
Borussia Dortmund closed in on the Bundesliga top six with victory, while Bayer Leverkusen stumbled to a 1-1 draw at Cologne.