Hertha Berlin failed to get the mathematical safety they were looking for as they were held to a goalless draw by Frankfurt.
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.
Werder Bremen edged closer to a place in Europe next season with a 1-0 win over Eintracht Frankfurt.
Borussia Dortmund closed in on a top-six place thanks to a 2-0 win over Eintracht Frankfurt.
Borussia Monchengladbach were held 0-0 by Eintracht Frankfurt and must wait to seal a Champions League spot.