German champions Bayern Munich came from behind to beat second-placed RB Leipzig in a high-scoring encounter.
In a game with little riding on it, Marcel Sabitzer headed Leipzig ahead, before Robert Lewandowski levelled.
Timo Werner and Yussuf Poulsen scored for Leipzig, with Thiago pulling one back before Werner made it 4-2.
Lewandowski scored in the 84th minute, with David Alaba and Arjen Robben netting in injury time to turn it around for Bayern.
The visitors sealed their fifth consecutive Bundesliga title last month.
In a high-scoring afternoon in the Bundesliga, Hoffenheim won 5-3 at Werder Bremen, who mounted a mini-comeback after going 5-0 down within 59 minutes.
Mainz are effectively safe from relegation after coming from 2-0 down to beat Eintracht Frankfurt 4-2.
Third-placed Borussia Dortmund drew 1-1 at Augsburg, with Pierre-Emerick Aubameyang scoring his 29th Bundesliga goal of the season. Lewandowski is now the top scorer with 30 after his double against Leipzig.
Ingolstadt have been relegated following a 1-1 draw at Freiburg.
Pierre-Michel Lasogga scored an injury-time equaliser for Hamburg at Schalke – the goal which sealed Ingolstadt’s fate. Hamburg remain in the relegation play-off place going into the final day – where they host Wolfsburg, the team two points above them.
The Wolves drew 1-1 with Borussia Monchengladbach. Elsewhere, Bayer Leverkusen came from 2-0 down to draw 2-2 at Cologne and Hertha Berlin beat relegated Darmstadt 2-0, BBC reports.