Schalke missed a chance to secure Champions League football next season as Freiburg moved to within one point of the top four.
Schalke, who had been three points clear of Eintracht Frankfurt and four clear of Freiburg going into the final two games of the season, were defeated 2-1 at home by mid-table Stuttgart.
Vedad Ibisevic's double helped the Swabians take all three points and leave Schalke needing to avoid defeat in a Champions League decider against Freiburg on the final day of the season to achieve their aim.
An own goal from Georg Niedermeier in the last minute was too little, too late for the Royal Blues, who remain in fourth place by a single point.
Freiburg therefore go into their final game with real hope of booking a place in the Champions League after defeating rock-bottom Greuther Furth 2-1.
The visitors recovered from conceding a third-minute opener to Matthias Zimmermann to win thanks to second-half goals from Jonathan Schmid and Max Kruse.
The win guarantees Freiburg Europa League football next season, barring an extraordinary turn of events next weekend, and leaves them knowing a victory over Schalke will see them qualify for Europe's premier club competition.
Eintracht Frankfurt, who could have moved level on points with Schalke, are a point behind Freiburg after they were forced to settle for a 1-1 draw away to Werder Bremen, who secured their place in the top flight next season.
Kevin de Bruyne gave Bremen the lead midway through the first half before Srdjan Lakic levelled for the Eagles.
The point was all Bremen needed to move four points clear of the relegation zone and ensure top-flight football will be played at the Weser Stadion again next season. Frankfurt, meanwhile, still need a point on the final day of the season to qualify for the Europa League.
Bayern Munich were presented with the Bundesliga trophy following a 3-0 win over struggling Augsburg after becoming German champions for the 23rd time.
It took the Bavarians 69 minutes to get going at the Allianz Arena, but Thomas Muller, Xherdan Shaqiri and Luiz Gustavo struck to give them another win and take them to a record 88 points for the season.
Shortly after the final whistle, Bayern picked up their first trophy in three years before setting off on a parade from the stadium to the city centre, where 20,000 fans were expected to greet them at City Hall.
Coach Jupp Heynckes picked his strongest team for this Bavarian battle, having rested several of his players for the draw with Borussia Dortmund a week ago.
Wolfsburg and Borussia Dortmund played out a pulsating 3-3 draw at the VW-Arena.
Dortmund went ahead through Sven Bender in the fifth minute, but three goals in the space of 12 minutes turned the game on its head.
A brace from Ivan Perisic was followed by goal from Naldo as the Wolves took control of the game, and it looked as though they were going to get a prestigious win until Marco Reus scored two late goals to earn Dortmund a share of the spoils.
Hannover's lingering hopes of qualifying for the Europa League next season were ended by a 3-1 defeat to third-placed Bayer Leverkusen at the BayArena.
Two goals from Jens Hegeler and a header from the Bundesliga's top goalscorer, Stefan Kiessling, earned Leverkusen a comfortable win, with Artur Sobiech grabbing a consolation for the visitors.
Fortuna Dusseldorf will go into the final day of the Bundesliga season still under threat of relegation after throwing away a half-time lead to lose 2-1 against Nurnberg.
An own goal from Hanno Balitsch put the struggling hosts in front midway through the first period, but quickfire goals from Robert Mak and Marvin Plattenhardt turned the match on its head.
Hamburg pushed Hoffenheim closer to the 2. Bundesliga with a 4-1 win which keeps their own hopes of European football next season alive.
Son Heung-min, Dennis Aogo, Petr Jiracek and Arjoms Rudnevs were all on target for Thorsten Fink's men, with Kevin Volland's goal proving worthless for a Hoffenheim side who remain two points adrift of safety and now need something special in order to avoid relegation.
They travel to Champions League finalists Borussia Dortmund next weekend needing to win and hope that either Fortuna Dusseldorf or Augsburg are unsuccessful in their matches.
Borussia Monchengladbach moved up to eighth with a 4-2 victory at Mainz.
Twenty-year-old striker Branimir Hrgota hit a hat-trick to open his account for Gladbach. The Sweden Under-21 international had failed to score in his previous 11 games for the club, but ended the drought with a penalty just before half-time to cancel out Shawn Parker's opener.
Hrgota put the visitors in front in the 59th minute and, after Mike Hanke had added a third, completed his treble ten minutes from time.
Andreas Ivanschitz got Mainz's second with an injury-time penalty, but it could not stop Gladbach keeping their slim European hopes just about alive.
Information from the Press Association was used in this report