Borussia Monchengladbach qualified for the Champions League and Fortuna Dusseldorf was relegated by a single point on the last day of the Bundesliga on Saturday.
Germany becomes the first major European men's soccer league to complete a full season after restarting during the coronavirus pandemic in empty stadiums.
The Bundesliga pioneered the widespread virus testing of players and socially distanced training sessions which have since been copied by other competitions across the continent.
Bayern Munich secured its eighth straight title two games earlier and finished with a 13-point advantage over Borussia Dortmund in second. Bayern was presented with the trophy on Saturday, its chant of ``champions'' echoing around Wolfsburg's empty stadium.
Gladbach secured its return to the Champions League for the first time since 2016-17 by beating Hertha Berlin 2-1 to finish fourth ahead of Bayer Leverkusen.
Breel Embolo held off two defenders to set up Jonas Hofmann to score Gladbach's opening goal. In the second half the roles were reversed as Hofmann played in Embolo to tap in at the far post off a well worked short corner routine.
A second-minute goal from Kevin Volland was enough for Leverkusen to beat Mainz 1-0. Leverkusen could still qualify for next season's Champions League by winning the Europa League, which will be finished as a mini-tournament in Germany in August.
Few gave Bremen much hope of avoiding automatic demotion on the last day. It had beaten only last-placed Paderborn in its previous five games and lost the other four.
Bremen was left counting on a favor from Union Berlin to beat Dusseldorf, and claim a surprise 6-1 win of its own against Cologne in order to climb out of the automatic relegation spot.
Bremen hoped pride would prompt Union's players _ who were already assured of survival _ to give their all against Dusseldorf. Bremen's stadium DJ even played Union's hymn featuring Nina Hagan before kickoff against visiting Cologne.
But Werder didn't need Union. Japan striker Yuya Osako opened the scoring in the 22nd, before news came through that former Bremen striker Anthony Ujah had given Union the lead against Dusseldorf. Milot Rashica and Niklas Fullkrug bolstered Bremen's lead while Dusseldorf increased its pressure but couldn't force an equalizer before the break.
Ujah set up Christan Gentner for Union's second in the 54th as Bremen scored three more with only a consolation goal for Cologne's Dominick Drexler.
Bremen will next face a two-leg playoff against the team that finishes third in the second division, most likely Heidenheim or Hamburger SV, to see which plays in the Bundesliga next season. The first leg is on July 2 with the second leg four days later.
Bayern beat Wolfsburg 4-0 to finish on 100 goals for the season, one short of the record. Robert Lewandowski scored a penalty for his 34th Bundesliga goal of the season as the Polish forward finished as the league top scorer for the third season in a row.
Bayern had 16 league wins from 17 games in 2020, blemished by only a goalless draw against Leipzig. Bayern can win a domestic double against Leverkusen in the cup final on July 4.
Dortmund slumped to an unexpected 4-0 defeat to Hoffenheim in an echo of the defensive problems which often plagued its bid for the title.
Timo Werner scored twice for third-placed Leipzig in his last game for the club before a transfer to Chelsea in a 2-1 win over Augsburg.
Freiburg dismantled Schalke 4-0 to extend Schalke's record winless run to 16 games. Eintracht Frankfurt beat already relegated Paderborn 3-2.
(For more sports news and updates, follow Ahram Online Sports on Twitter at @AO_Sports and on Facebook at AhramOnlineSports.)