Bundesliga Matchday 34: Dortmund in the driving seat for final-day showdown
Borussia Dortmund head into the final matchday of the Bundesliga season knowing that victory over Mainz will clinch the title.
Reigning champions Bayern Munich need BVB to slip up, while earning maximum points themselves against FC Cologne, to be in with a chance of claiming top spot.
Meanwhile, Union Berlin will be hoping to stave off Freiburg and qualify for the Champions League by beating Werder Bremen, with only goal difference separating the two top-four contenders.
At the other end of the table, Bochum and Schalke could still secure safety ahead of Stuttgart but face formidable opponents in Bayer Leverkusen and RB Leipzig.
Game of the weekend: Borussia Dortmund vs Mainz (Saturday, 2.30pm)
Borussia Dortmund are one win away from claiming their first Bundesliga title since 2012. It would be the ninth time they have been crowned German champions, level with Nurnberg in second spot behind Bayern Munich.
Should they beat Mainz and guarantee first place, BVB would also set club records for home wins (15) and home points (46) in the competition.
Additionally, Mats Hummels could find himself in the unique position of being the first player to win at least three league titles with two different clubs. This would be his third with Dortmund, after winning four with Bayern.
Encouragingly for Die Borussen, Mainz are on a run of four consecutive defeats and have nothing left to play for. They are safe and can no longer finish in a European qualification place.
FC Cologne vs Bayern Munich (Saturday, 2.30pm)
Bayern Munich have won 10 league titles in a row — but that run may be about to end.
The Bavarian giants need Dortmund to fail to beat Mainz on the final day if they are to clinch an 11th successive championship with a victory over FC Cologne. However, no side that was not top of the table going into the final matchday has won the Bundesliga in any of the last 22 seasons.
Bayern will still be fancied to claim maximum points in this fixture and push Dortmund all the way, though, having beaten FC Cologne in each of their last eight trips to face the Billy Goats.
However, Thomas Tuchel's personal record against these opponents is less impressive, winning just one of his last eight competitive games (four draws, three defeats).
Union Berlin vs Werder Bremen (Saturday, 2.30pm)
Union Berlin sit fourth ahead of the final matchday of the season, though their position is far from secure.
Should Union match or better Freiburg's result, they will have secured Champions League qualification — unless both teams win and Freiburg's victory comes by four more goals.
Encouragingly for the capital club, they have won each of their last four meetings with next opponents Werder Bremen.
Additionally, Werder have failed to keep a clean sheet in any of their previous 11 league games, while Union have managed five in the same timeframe — more than any other club in the competition.
Bochum vs Bayer Leverkusen (Saturday, 2.30pm)
Bochum go into their final game of the season in the bottom three, level on points with 15th-placed Stuttgart but with a vastly inferior goal difference.
Der Blau must therefore better their relegation rival's result on the final day. However, they go up against European hopefuls Bayer Leverkusen, who can only guarantee sixth place with a win.
Furthermore, Bochum have not emerged victorious from any of the previous seven meetings between the pair (three draws, four defeats), last winning in 2008.
Thomas Letsch's team have also failed to win any of their last four games on Matchday 34 (one draw, three defeats) while Leverkusen have won 10 of their previous 12 final day fixtures (two defeats).
RB Leipzig vs Schalke (Saturday, 2.30pm)
Schalke find themselves in the bottom two ahead of their last game of the season, just one point off Bochum and Stuttgart.
Unfortunately for them, their opponents are third-placed RB Leipzig, who beat them 6-1 in the reverse fixture to record their joint-biggest away win in the Bundesliga.
However, Marco Rose's men are guaranteed to remain third and have nothing to play for, as Schalke look to spring a surprise and avoid being relegated from the Bundesliga for the fifth time in their history.
If Die Knappen are to make a great escape, they will have to do so without suspended defender Moritz Jenz. They have managed just 0.7 points per game without him, conceding 2.5 goals on average — compared to 1.5 points and 1.1 goals conceded with him.
The weekend's other games
Borussia Monchengladbach vs Augsburg (Saturday, 2.30pm)
Eintracht Frankfurt vs Freiburg (Saturday, 2.30pm)
Stuttgart vs Hoffenheim (Saturday, 2.30pm)
Wolfsburg vs Hertha Berlin (Saturday, 2.30pm)
Follow each game with our unbeatable live scores service. Simply tap the Scores tab on the web or download the LiveScore app from the App Store for iOS devices or Google Play for Android.