Hannover celebrated their first win of 2015 to move out of the bottom three with a 2-1 victory over Augsburg.
Augsburg kept their Europa League hopes alive with an unexpected 1-0 win at Bavarian rivals Bayern Munich.
Schalke ended a six-game winless run as Wolfsburg slipped to defeat, plus all the latest from the Bundesliga.
Augsburg only just managed to keep hold of their place inside the top six after a 0-0 draw at home to Cologne.
Borussia Dortmund closed in on the Bundesliga top six with victory, while Bayer Leverkusen stumbled to a 1-1 draw at Cologne.
Hamburg picked up their first win since early February by beating Augsburg 3-2.