Hannover and Stuttgart boosted their hopes of avoiding the drop on the penultimate weekend of the Bundesliga season, while Schalke made sure of a place in next season’s UEFA Europa League.
Lars Stindl’s double proved enough for Hannover to clinch a surprise 2-1 win away at Augsburg in a bad-tempered encounter that saw three players sent off, two of them from the home side.
Hiroki Sakai saw red for the visitors, while Augsburg had Paul Verhaegh and Raul Bobadilla dismissed in the closing stages.
Hannover now sit in 15th, one spot above a Stuttgart side who still occupy a relegation play-off spot despite coming from behind to beat Hamburg 2-1.
Gojko Kacar had given Hamburg the lead, but Christian Gentner and Martin Harnik hit back for the hosts.
Freiburg were another club to ease their relegation fears, Nils Petersen the hero as he came off the bench to strike the winner in a 2-1 triumph over champions Bayern Munich.
Bastian Schweinsteiger had put Bayern – knocked out of Europe in midweek by Barcelona – in front, only for Admir Mehmedi to reply for Freiburg before the break.
Petersen then popped up with just a minute of normal time remaining to grab what could turn out to be a crucial winner.
Paderborn are now propping up the rest after going down 1-0 at Schalke, Uwe Hunemeier netting an own goal to settle the contest at the Veltins Arena.
Hertha Berlin are still not safe after a 0-0 draw at home to Eintracht Frankfurt in the Olympiastadion. The point puts them on 35 for the campaign, meaning they could yet finish as low as 17th in the final reckoning.
Elsewhere, Mainz defeated Cologne 2-0 thanks to second-half efforts from Ja-Cheol Koo and Jairo.
Bayer Leverkusen eased to a 2-0 triumph over Hoffenheim at home, though they can finish no higher than fourth after Borussia Monchengladbach were 2-0 winners at Werder Bremen.
Borussia Dortmund went down 2-1 away at Wolfsburg in a dress rehearsal for the season-ending DFB-Pokal final. Naldo grabbed what turned out to be the final goal of the contest early in the second half.