It was a dizzying Saturday in the Bundesliga, with nine games played simultaneously on Matchday 33. But when the dust had settled, little had changed as the battle for survival and for Europe goes to the final day.
The Bundesliga relegation battle will go to the final weekend of the season following defeats for Hamburg, Nuremberg and Eintracht Braunschweig. Meanwhile at the other end of the table - the struggle for the European places is equally well-poised.
Nuremberg 0 - Hannover 2
Nuremberg were fighting for their lives in the drop-zone and they needed a win against Hannover to give them a chance of displacing Hamburg in the relegation play-off spot. But Tayfun Korkut's men have been resurgent in recent weeks, taking seven points from the last three games, and "der Club" has the worst home record in the Bundesliga.
This sorry reputation was confirmed within five minutes when a terrible mistake in midfield led to a quick break, opening up a two-on-one situation that Hannover's Hungarian Szabolcs Huszti took advantage of.
Nuremberg struggled hard, but their energy was gradually sapped in the second half, particularly after Hannover doubled the lead in the 51st minute through Manuel Schmiedebach.
Hamburg 1 - Bayern 4
Luckily for Nuremberg, however, Hamburg lost too, leaving the one point gap in place. Bayern Munich needed a punch-bag to take out their mid-week frustrations in the Champions League, and put four past HSV at the Imtech Arena.
The in-form Mario Götze - favored in place of out-of-form Franck Ribery - opened the scoring with some neat link-up play with Arjen Robben inside the area in the area in the 32nd minute.
The young German seemed determined to prove to Pep Guardiola that his elusive talents had been missed against Madrid - and that he ought to be used against his old club Dortmund in the DFB Cup final on May 17.
He drifted into space following a corner-kick routine and slammed the ball low and hard in - though the goal was guided in by Thomas Müller. Götze did get his second in due time, finishing a lightning counter-attack in the 70th minute.
HSV pulled one back just a couple of minutes later through Hakan Calhanoglu, but any hope of an unlikely comeback was snuffed out by Claudio Pizarro, as the super-sub got yet another goal with a spectacular overhead kick against a timid Rene Adler in goal.
Braunschweig 0 - Augsburg 1
The other crunch match in the lower reaches of the table saw Braunschweig host Augsburg. As the 0-0 dragged on, the home fans became increasingly aware that one goal would have lifted them above Hamburg and Nuremberg into the relegation play-off.
But while Augsburg let one chance after another slip by, Braunschweig very nearly grabbed a winner from a headed corner, only to be denied by Marwin Hitz.
As the time slipped away, Bobadilla kept Augsburg's hopes of Europa League qualification alive - and broke Braunschweig's weary hearts - when he found space, checked back, and beat the goalkeeper from the edge of the area.
Dortmund 3-2 Hoffenheim
Meanwhile, Robert Lewandowski said his last goodbyes to second-placed Borussia Dortmund fans ahead of his move to Bayern Munich in the summer. Hoffenheim had little to play for either, seeing as both Europa League football and relegation were well out of reach for the 9th-placed team.
So it was an open, end-of-term ding-dong battle, where the visitors took the lead thanks to some slack play from Mats Hummels. Volland intercepted a poor pass, slotted the ball to Rudy, who let the ball roll on to Firmino - who finished neatly.
There was plenty more chaotic defending throughout the game, as BVB turned the game around with two minutes - first through an unimpeded run from Kevin Grosskreutz, who was allowed to saunter to the edge of the area and level.
Then, Henrikh Mkhitaryan took the lead with a diving header, and Lukasz Piszczek extended it to 3-1, three minutes later. Hoffenheim were not finished, however, and goalkeeper Roman Weidenfeller offered them an end-of-season gift by allowing Niklas Süle to knock one through his legs from 35 yards. After that, the game petered to a close.
Stuttgart 1 - Wolfsburg 2
Wolfsburg started the game one point behind Leverkusen in the last Champions League spot, while their hosts Stuttgart needed only a point to secure safety. Kevin de Bruyne made the vital breakthrough for the Wolves in the 13th minute by capitalizing on confusion in the Stuttgart penalty area after a clash of heads left two defenders on the floor.
The Belgian, loitering outside the area, paid no attention and slammed the ball into the roof of the net from distance. But Stuttgart regrouped, and after a cagey start to the second period, Christian Gentner suddenly broke clear and blasted a brilliant left-footer into the net. But then, up-stepped Ivica Olic who handed the Wolves the win in the first minute of stoppage time.
Mönchengladbach 3 - Mainz 1
With two wins from their last two games, Gladbach could make it to the Champions League at the expense of Leverkusen and Wolfsburg on the last day of the season. The home side also bidding a tearful farewell to goalkeeper Marc-André ter Stegen - heading to Barcelona next season.
But with Mainz's tight defense giving away no gifts, it took a set-piece to open the scoring when a cross from Max Kruse, headed behind by Alejandro Dominguez, was left to Martin Stranzl to convert at the far post.
Gladbach needed to be efficient to secure the points, and proceeded to use one of their few chances early in the second half, when Kruse took advantage of some great work from Patrick Herrmann down the right and took a snapshot that slotted into the far corner.
Mainz pulled one back soon after, but the Foals were able to make sure of the points with Christoph Kramer flashing a neat finish across the hapless goalkeeper. The result sets up what could be a fantastic deciding game against Wolfsburg on the final day.
Frankfurt 0 - Leverkusen 2
Stefan Kiessling, the Duracell bunny of Bundesliga strikers, was finally left out of Leverkusen's side after 118 consecutive match days - though only due to a hamstring injury. But Leverkusen, hovering unsteadily in fourth place, needed wins from their last two games to ensure Champions League football next season.
They duly opened the scoring in the 28th minute through Gonzalo Castro, thoroughly befuddling the Frankfurt defense, while Emre Can - a Frankfurter himself - capitalized on a rebound to double the lead in the 36th minute. Those strikes proved enough to keep Leverkusen's European dreams very much alive.
Freiburg 0 - Schalke 2
Schalke needed a win to hold off Leverkusen chasing them down for the coveted automatic Champions League spot - but luckily they were travelling to sunny Freiburg, where the Sport-Club were already basking in their mid-table security.
Schalke took an early lead in the 13th minute, with Kaan Ayhan's long-range effort sneaking into the far post, despite a touch from the glove of Baumann in the Freiburg goal. It was the young Turk's first Bundesliga goal since breaking into the first-team.
Klaas-Jan Huntelaar doubled the lead for the visitors - in his hundredth Bundesliga game - thanks to horribly deflected shot just after the hour mark.
Bremen 2 - Hertha Berlin 0
Finally, two decidedly mediocre mid-table sides, with nothing to play for, rounded off the day's football.
Both Hertha and their hosts duly played out a sleepy first half, and perhaps the only talking point was the brace that Aaron Hunt scored in his final home game for Werder.
The faithful Bremen servant got the first of his farewell goals in the 49th minute, slipping in past the listless Berliners to slam into the roof of the net. Fittingly, he then got his second with almost the last kick of the game, as Bremen countered, and an alert Hunt outstripped half the Hertha defense before firing home.