Bayern Munich secured their eighth successive Bundesliga title as Robert Lewandowski's 31st league goal of the season was enough to beat relegation-threatened Werder Bremen 1-0 at the Weser Stadium.
Back in November, the German record title-holders' biggest defeat in a decade - a 5-1 humbling at Eintracht Frankfurt - cost Niko Kovac his job. A run of one win in four league games left the Bavarians four points behind leaders Borussia Monchengladbach.
- How Werder and Bayern lined up
- Bundesliga Table | Fixtures
- European round-up: Gladbach stay in CL hunt
But under Hansi Flick, promoted from his position as assistant coach, Bayern have been indomitable ever since - and Lewandowski's trademark finish made it to 22 wins from 23 games in all competitions.
Bayern were reduced to 10 men in the closing stages as Alphonso Davies was sent off for a second bookable offence (79) but the visitors held on to establish an unassailable 10-point lead over second-placed Borussia Dortmund.
Bremen remain 17th, level on points with Dusseldorf who currently occupy the relegation play-off spot but now with a game in hand over their rivals.
Werder Bremen: Pavlenka (7), Veljkovic (6), Moisander (5), Gebre Selassie (6), Friedl (5), Vogt (5), Klaassen (5), Eggestein (6), Rashica (6), Osako (6), Bittencourt (6).
Subs: Langkamp (5), Bartels (6), Fullkrug (5), Pizarro (n/a), Sargent (6).
Bayern Munich: Neuer (6), Pavard (6), Davies (5), Boateng (8), Alaba (7), Kimmich (6), Goretzka (6), Gnabry (6), Coman (6), Muller (7), Lewandowski (7).
Subs: Hernandez (n/a)
Man of the match: Jerome Boateng.
How Bayern were crowned champions
Bremen, who have won only one home league game all season, made a bright start in the pouring rain as Leonardo Bittencourt's centre was volleyed into the side-netting by Theodor Gebre Selassie from an acute angle after just nine minutes.
Bayern, by contrast, were being frustrated as Kingsley Coman dragged a shot wide before Manuel Neuer watched a fierce drive from Maximilian Eggestein drift just beyond his right-hand post.
Davies was perhaps fortunate only to see a yellow card from referee Harm Osmers when he kicked out at Bittencourt, but Bayern slowly began to turn the screw. Coman fired a warning when he headed wide from Thomas Muller's cross after 23 minutes, before Joshua Kimmich struck the underside of the crossbar - but only after Serge Gnabry had been ruled offside.
Bremen thought they had done enough to reach half-time with parity intact, but a lapse in concentration two minutes before the interval allowed the leaders to break the deadlock in routine fashion.
- Premier League - all the new fixtures and dates
- £18 Premier League and Football channel offer
- Watch 39 Premier League & 45 EFL games exclusively live
From the second phase of a set piece, Jerome Boateng found the deep run of Lewandowski, who kept his composure to steer his shot beyond Jiri Pavlenka.
With the downpour showing no sign of abating, Werder boss Florian Kohfeldt made tactical changes at the start of the second half to ensure he has key personnel available for the crucial game with Mainz at the weekend, and Bayern were as a result untroubled until Davies was harshly shown a second yellow card.
Milos Veljkovic looked to escape down the right when he was upended by the Canadian - and the hosts finally asserted themselves in the final 10 minutes with the numerical advantage.
With the game stretched, moments after Pavlenka had kept out a low shot from Coman, Josh Sargent saw his shot from point-blank range blocked by Boateng. There was still time for Neuer to make a brilliant save from Yoyo Osako's flicked header.
At the final whistle, coach Flick brushed aside social distancing rules to hug his staff as a smattering of club officials in the stands shook hands, celebrating a 30th German title. Bayern are chasing a potential treble with Bayer Leverkusen awaiting them in the final of the German Cup on July 4 before focus will turn to the resumption of the Champions League.
Man of the match - Jerome Boateng
Flick has revived Boateng since his arrival in November and it was entirely fitting that it was the centre-back's pass that provided the title-winning goal for Lewandowski in the opening period.
The defender was close to joining Paris Saint-Germain but is now a vital cog once more at the back, and he underlined his importance with a vital block as Bremen sought a late equaliser.
- Bayern celebrate their 30th German championship. They have now won 29 out of 57 titles since the foundation of the Bundesliga in 1963 - more than all other clubs combined (28).
- Alphonso Davies' top speed of 36.51 km/h in Bremen is the fastest of any Bundesliga player since data collection started in 2013/14.
Werder next face Mainz on Saturday at 2.30pm in a game that could go a long way to determining whether they stay in the Bundesliga or suffer their first relegation since 1980. Bayern Munich host Freiburg at the same time.
- 64 live games on Sky Sports from provisional restart date of June 17
- 25 games to be made freely available
- New Sky Sports digital innovations also planned to enhance fan experience
- Watch 39 Premier League & 45 EFL games exclusively live
The Premier League 2019/20 season will provisionally restart on Wednesday June 17 and Sky, the UK's leading football broadcaster, will make 25 games available 'free to air' - including Everton vs Liverpool on the first full weekend back - for everyone in the UK to enjoy.
Sky Sports will show 64 live Premier League games when the season resumes. In addition to the 39 matches already scheduled to be broadcast exclusively live on Sky Sports before the coronavirus interruption, 25 more matches will be available on both Sky Sports Premier League and Sky's free-to-air Pick channel, allowing the whole nation to be part of the return of live sport.
To celebrate the return of the Premier League, Sky Sports will also launch a host of innovative new features and updates to give fans an even more immersive experience and share the moments live with family and friends on virtual platforms.