Schalke consolidated second spot and guaranteed their Champions League place for next season with a 2-1 Bundesliga triumph at mid-table Augsburg on Saturday afternoon.
Six points clear of fifth-placed Bayer Leverkusen at the start of this penultimate round of games, the Royal Blues made mathematically sure they could not be caught with a hard-fought away win.
Thilo Kehrer put the visitors ahead midway through the first half and, although Philipp Max equalised four minutes later, Kehrer struck again 11 minutes before the interval to seal matters.
Bayern Munich, who wrapped up the title four weeks ago, also won away from home, but were made to work hard for a 3-1 victory by already-relegated Cologne.
The rock-bottom hosts took a shock lead when Niklas Sule put through his own net just before the half-hour mark, but James Rodriguez restored parity just after the hour, Robert Lewandowski put Bayern ahead two minutes later and Corentin Tolisso made sure of the result 12 minutes from time.
RB Leipzig piled the pressure on relegation-threatened Wolfsburg with a 4-1 home triumph.
Ademola Lookman scored twice, with Timo Werner and Jean-Kevin Augustin also on target for the victors, with Daniel Didavi’s goal at 2-0 having briefly given the visitors some hope.
The result left the Wolves occupying the relegation play-off berth and still three points adrift of Freiburg with one game left.
Freiburg could have made absolutely sure of their safety with a point, but went down 3-1 at Borussia Monchengladbach.
Thorgan Hazard opened the scoring in the first half and Nico Elvedi doubled the home team’s advantage on 57 minutes. Tim Kleindienst pulled a goal back on the hour only for Josip Drmic to swiftly restore Gladbach’s two-goal cushion.
Mainz began the day level with Freiburg, but they did succeed in easing clear of trouble, courtesy of a 2-1 success at third-placed Borussia Dortmund.
Goals within the first 13 minutes from Bote Baku and Yoshinori Muto gave the visitors a surprise 2-0 lead and, although Maximilian Philipp got Dortmund back in it on 16 minutes, they could not find an equaliser.
The best second-bottom Hamburg can hope for is to catch third-bottom Wolfsburg and avoid automatic relegation, their slim hopes of finishing outside the bottom three quashed by a 3-0 loss at Europa League hopefuls Eintracht Frankfurt.
Marius Wolf’s goal nine minutes before half-time put the hosts in the ascendancy and late strikes from Omar Mascarell and Alexander Meier added gloss to the scoreline.
Bayer Leverkusen‘s pursuit of the top four stalled with a goalless draw at 12th-placed Werder Bremen, although that was good enough to move them level on points with fourth-placed Hoffenheim as Julian Nagelsmann’s side suffered a 2-0 defeat at eighth-spotted Stuttgart.
Mario Gomez’s brace proved decisive at the Mercedes-Benz Arena, with Hoffenheim unable to capitalise on the 65th-minute dismissal of home midfielder Santiago Ascacibar.
Hannover emerged 3-1 winners in their largely meaningless game against Hertha Berlin. First-half goals from Martin Harnik, Salif Sane and Niclas Fullkrug put Hannover in control, with Davie Selke netting a consolatin for Hertha 17 minutes from time.