Borussia Dortmund ensured the Bundesliga title race was not over yet as they edged a nervy 3-2 win over Fortuna Duesseldorf, while leaders Bayern Munich were held to a goalless draw at RB Leipzig on Saturday.
The contrasting results meant the title race will now be decided on the final day next weekend.
Bayern Munich with 75 points now now lead Dortmund, with 73 by just two points. Victory today would have given them a seventh successive Bundesliga title.
Chelsea-bound US international Christian Pulisic found the net in his final home game for Dortmund.
But Bayern can secure the title with a win or a draw at home to Eintracht Frankfurt next Saturday.
Dortmund must win at Borussia Moenchengladbach to have a chance.
Dortmund, who looked dead and buried after slipping four points behind last week, enjoyed the rub of the green as they stumbled to victory over Duesseldorf.
Pulisic, who will join Chelsea next season, bid an emotional farewell to the Dortmund fans before the game and then opened the scoring on 41 minutes.
A howler from stand-in goalkeeper Marwin Hitz allowed Oliver Fink to equalise, but Thomas Delaney restored the lead for Dortmund.
Hitz then gave away a penalty with a foul on Dodi Lukebakio, but the Belgian dragged the ball wide from 12 yards.
Mario Goetze appeared to seal the win for Dortmund on 90 minutes, but Dawid Kownacki pulled one back for Duesseldorf minutes later to make it a nerve-jangling finish for the hosts.
In Leipzig, Leon Goretzka’s stylish scissor-kick sent Bayern into ecstasy after half-time, but the goal was ruled out by VAR.
Serge Gnabry hit the bar later in the second half, but Bayern could not force the winner.
At the other end of the table, Nuremberg and Hanover were finally relegated as Stuttgart secured the relegation play-off place with a 3-0 win over Wolfsburg.
Hanover went down fighting as goals from Waldemar Anton, Ihlas Bebou and Walace saw them beat Freiburg 3-0.
Yet Anastasios Donis, Gonzalo Castro and Daniel Didavi were on the mark for Stuttgart to condemn Hanover and Nuremberg to the drop.
Nuremberg, meanwhile, suffered a 4-0 defeat to Borussia Moenchengladbach thanks to an own-goal from Lukas Muehl and strikes from Thorgan Hazard, Denis Zakaria and former Nuremberg man Josip Drmic.
The thumping win sees Gladbach go fourth overnight, leapfrogging both Eintracht Frankfurt and Bayer Leverkusen, who were held to a 1-1 draw at home to Schalke, Guido Burgstaller cancelling out Kai Havertz’s opener.
Frankfurt have the chance to break back into the top four with a win over Mainz on Sunday.
Werder Bremen also kept their European hopes alive with a 1-0 win over Hoffenheim, and Hertha Berlin snatched a late 4-3 victory away to Augsburg.
Johannes Eggestein’s first-half goal condemned RB Leipzig-bound coach Julian Nagelsmann to defeat in his last home game in charge of Hoffenheim.
Andre Hahn and Michael Gregoritsch put Augsburg ahead three times but goals from Marvin Plattenhardt and Marko Grujic kept Hertha in the game before a late brace from Salomon Kalou secured three points.