Take a look at the beta version of dw.com. We're not done yet! Your opinion can help us make it better.
An intense relegation battle, the fight for Europe and a festival at the top - matchday 33 in the Bundesliga had goals, goals, goals. Bayern and Leipzig shared nine alone as all 18 teams slugged it out.
RB Leipzig 4-5 Bayern Munich
(Sabitzer 2', Werner 29', 65', Poulsen 46' - Lewandowski 17' (pen), 84', Thiago 60', Alaba 90+1', Robben 90+5')
The Bundesliga's top-two produced what was surely the game of the season as champions Bayern finally won an astonishing rollercoaster of an encounter in the fifth minute of injury time.
When these two teams first met in Munich back in December, top spot in the Bundesliga was at stake, Bayern running out 3-0 winners as German football's traditional elite swatted aside the controversial newcomers.
This time, with Bayern's 27th league title already wrapped up, there was a party atmosphere in the Red Bull Arena which only increased when the hosts took an early lead through Marcel Sabitzer, but Robert Lewandowski brought the champions level from the spot shortly later after Bernado handled.
Timo Werner restored the Red Bull-backed team's lead before the break with another penalty - his 20th goal of the season - before Yussuf Poulsen made it 3-1 with a deflected effort just after the restart.
Thiago halved the deficit with a header on the hour mark but Werner restored the two-goal cushion, capitalizing on sloppy defending from Philipp Lahm to slot the ball through Tom Starke's legs to increase his tally to 21.
It looked like Ralph Hasenhüttl's men were heading for a famous, if pyrrhic, victory but another late Lewandowski strike and an injury-time David Alaba free-kick saw the champions draw level before an astonishing Arjen Robben solo run and finish gave Bayern all three points on an incredible afternoon.
Schalke 1-1 Hamburg
(Burgstaller 25' - Lasogga 90+2')
Hamburg rescued a vital point in the relegation battle in a dramatic finale in the Veltins Arena in Schalke.
After the home fans presented a huge display celebrating their Eurofighters, Guido Burgstaller headed the Royal Blues into the lead after lovely build-up play worthy of those 1997 UEFA Cup winners.
HSV showed little improvement from their recent disappointments against Darmstadt, Augsburg and Mainz and rarely looked like getting back into the game. But as the game entered the second minute of injury time, Lewis Holtby found Pierre-Michel Lasogga free in the box and, with the goal gaping, the German fired the ball into the empty net to spark raucous scenes in the away end.
The celebrations looked to have been cut short in the 94th minute when Sead Kolasinac headed home Johannes Geis' corner, but Hamburg were saved by the linesman's flag after the corner went out of play.
Freiburg 1-1 Ingolstadt
(Philipp 30' - Lezcano 43')
Ingolstadt were finally relegated after a 1-1 draw away at Freiburg despite a battling second half of the season under coach Maik Walpurgis.
The hosts took the lead in a sunny Black Forest after Florian Niederlechner flicked a long ball on to Max Philipp who finished calmly past Alexander Schwolow. The visitors were level before the break though, Marcel Tisserand personifying the Schanzers' battling spirit with a powerful run through the middle of the Freiburg defense. His shot was well saved, but Dario Lezcano was on hand to head home the rebound.
Unfortunately, it wasn't enough for the valiant "Schanzer" who become the second side to be automatically relegated, joining Darmstadt in the second division.
Mainz 4-2 Eintracht Frankfurt
(Cordoba 60', Bell 62', Muto, 76', De Blasis 90+2' (pen) - Hrgota 41', Seferovic 49')
"100% commitment for the team!" has been the Mainz supporters' motto for the past few weeks as the club battles against relegation, and that is precisely what they showed in the Rhine-Main derby, coming back from two goals down to beat Frankfurt in a dramatic local affair.
After a nervy start in the Coface Arena between two of the Bundesliga's lowest-scoring teams, Branimir Hrgota gave the visitors the lead with a neat control and finish from Aymane Barkok's cross. The relegation-threatened Zerofivers found themselves 0-2 down shortly after the restart when Haris Seferovic scrambled the ball over line, but Martin Schmidt's side were far from finished.
First, two goals in three minutes either side of the hour-mark from Jhon Cordoba and Stefan Bell dragged the hosts level in dramatic fashion. Then, with fifteen minutes to play, Yoshinori Muto leaped like a salmon to head home Bojan's clever through-ball and unleash bedlam among the home fans, who have never stopped believing in their team.
Pablo De Blasis's injury-time penalty wrapped up a vital three points.
Werder Bremen 3-5 TSG Hoffenheim
(Gebre Selassie 59', Bargfrede 85', Bauer 90 - Szalai 7', Kramaric 11', 49', Zuber 40', Bicakcic 52')
After the 11-match unbeaten run which saw Werder Bremen go from relegation candidates to Europa League contenders, came to a dramatic end in Cologne last week, the wheels really did fall off at home to Hoffenheim.
Adam Szalai gave the visitors the lead with their first shot of the game after just seven minutes, before Andre Kramaric and Steven Zuber twice exploited poor Bremen defending on the right-hand-side to give Hoffenheim a 3-0 half-time lead.
It went from bad to worse after the break as further goals from Kramaric and Ermin Bicakcic increased the lead, and a second half consolations from Theodor Gebrie Selassie and Philipp Bargfrede couldn't prevent the visitors running out comprehensive 5-2 winners.
Augsburg 1-1 Borussia Dortmund
(Finabogason 28' - Aubameyang 31')
After taking a huge step towards automatic Champions League qualification with a 2-1 win over Hoffenheim last week, Borussia Dortmund were held to a disappointing 1-1 draw away at relegation battlers Augsburg.
The Fuggerstädter took a surprise lead just before the half-hour mark. Philipp Max latched onto goalkeeper Andreas Luthe's long clearance, catching Dortmund's high line off guard. His long effort was weakly parried by Roman Bürki and Alfred Finnbogason was on hand to tap home the rebound.
But the visitors leveled just three minutes later when Pierre-Emerick Aubameyang helped Shinji Kagawa's effort into the net - no question of offside.
Darmstadt 0-2 Hertha Berlin
(Kalou 15', Torunarigha 28')
Hertha Berlin had only won nine points on the road this season but boosted that tally slightly with a comfortable 2-0 victory away at relegated Darmstadt.
Headed goals from Salomon Kalou and Jordan Torunarigha gave the visitors a 2-0 half-time lead from which the hosts never recovered.
Bayer Leverkusen 2 - 2 FC Cologne
(Kießling 60', Pohjanpalo 70' - Jojic 14', Klünter 49')
Cologne's dreams of European football suffered a set-back as the Billy Goats threw away a two-goal lead away at derby rivals Leverkusen to slip to seventh place in Bundesliga.
Backed by over 10,000 raucous supporters who made the short trip up the Rhine, the visitors took an early lead after Milos Jojic's shot from the edge of the box was deflected in off Tin Jedvaj. After the break, local Cologne youngster Lukas Klünter doubled the lead with a fantastic solo run from right-back.
It looked like Cologne were heading for a famous win but Peter Stöger's side shot themselves in the foot with some poor second-half defending. First, Dominik Heintz slipped to allow Stefan Kießling to halve the deficit before substitute Joel Pohjanpalo headed Leverkusen level ten minutes later.
Wolfsburg 1-1 Borussia Mönchengladbach
(Gomez 58' - Vestergaard 23')
In addition to former coach Dieter Hecking's visiting Foals, Wolfsburg also had to fight against unseasonal weather in their battle against relegation, as torrential summer rain saw play halted for twenty minutes in the second half.
Gladbach took the lead through Jannik Vestergaard after 23 minutes. Wolfsburg failed to clear a short corner and Christoph Kramer clipped the ball back into the box for the Dane to head home.
Despite the visitors dominating proceedings, it was Wolfsburg who dragged themselves back into the game thanks- predictably - to Mario Gomez, who converted Riechedly Bazoer's cross for the equalizer.
After the weather-induced break, Wolfsburg poured forward in search of a winner on a sodden pitch but it wasn't forthcoming, as Andries Jonker's team remain two points clear of Hamburg - who they play next week on the final day.