The German soccer league's restart is complete. Borussia Mönchengladbach qualified for the Champions League and Fortuna Düsseldorf 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 Werder 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 Düsseldorf, and claim a surprise 6-1 win of its own against Cologne in order to climb out of the automatic relegation spot.
"We were never dead and there was always a chance," Bremen midfielder Davy Klaassen told Sky.
Werder fans soon began gathering outside the stadium to celebrate avoiding relegation. The club pleaded with them to "avoid big gatherings of people" because of the coronavirus.
Bremen hoped pride would prompt Union's players - who were already assured of survival - to give their all against Düsseldorf. Bremen's stadium DJ even played Union's anthem before kickoff against visiting Cologne.
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 Düsseldorf. Milot Rashica and Niklas Füllkrug bolstered Bremen's lead while Düsseldorf 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.
Union finished with a 3-0 win over Düsseldorf, which was left ruing a run of games it drew after having led.
"I'm sorry for our fans. We fought and fought and fought," Düsseldorf coach Uwe Rösler told Sky. The players "gave me everything and it wasn't enough." Union goalkeeper Rafa Gikiewicz had a muted goodbye in his last game before a transfer.
"It's really hard with the coronavirus restrictions, but hopefully next season I can return to say goodbye to the fans properly," he said.
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. Andrej Kramaric scored all four goals for Hoffenheim.
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. Werner matched a 46-year-old league record by scoring his 17th goal of the season away from home.
Freiburg dismantled Schalke 4-0 to extend Schalke's record winless run to 16 games. Eintracht Frankfurt beat already relegated Paderborn 3-2.