Bayer Leverkusen all but ended Hoffenheim's hopes of qualifying for Europe next season with a 2-0 win at the BayArena.
Eintracht Frankfurt secured their Bundesliga place with a 3-1 victory over Hoffenheim.
Schalke ended a six-game winless run as Wolfsburg slipped to defeat, plus all the latest from the Bundesliga.
Hoffenheim halted Borussia Dortmund's recent resurgence by taking a 1-1 draw at the Rhein-Neckar Arena.
Borussia Dortmund closed in on the Bundesliga top six with victory, while Bayer Leverkusen stumbled to a 1-1 draw at Cologne.
Michael Frontzeck's debut as Hannover coach ended in defeat as his side went down 2-1 at home to Hoffenheim.