Bayern Munich's Bundesliga title celebrations were put on ice after Erling Haaland scored in the fifth minute of injury time for Borussia Dortmund to beat Fortuna Düsseldorf 1-0 on Saturday.
Dortmund's last-gasp win cut the gap behind Bayern to four points ahead of the seven-time defending champion's late game against visiting Borussia Mönchengladbach. Just three rounds remain after this weekend.
Dortmund labored for long periods in Düsseldorf, where Achraf Hakimi missed the visitors' biggest chance in a one-on-one with goalkeeper Florian Kastenmeier, who also had little difficulty dealing with Julian Brandt's effort.
Raphaël Guerreiro thought he'd equalized in the 65th, when he finished off a counterattack with a volley past Kastenmeier.
However, the goal was ruled out through VAR after he was adjudged to have controlled the ball with his arm.
Düsseldorf substitute Steven Skrzybski struck the post twice in the closing stages.
But it was to be another substitute, the 19-year-old Haaland, who powered home a header from Manuel Akanji's cross in the 95th minute to keep alive Dortmund's slim title hopes.
Bayern's goal difference is vastly superior to Dortmund's so a draw would have been little use to Lucien Favre's side.
The Swiss coach appeared to injure himself in the celebrations.
Last-placed Paderborn was virtually relegated in a 5-1 defeat at home to Werder Bremen, which moved just behind Düsseldorf on goal difference.
Düsseldorf is third from bottom in the relegation playoff place. Paderborn has 20 points, while Bremen and Düsseldorf have 28.
Also, Hertha Berlin was to rue Dedryck Boyata's sending off before the break as Eintracht Frankfurt came from behind to win 4-1, while city rival Union Berlin boosted its survival hopes beating Cologne 2-1.
Also, Freiburg came from behind to draw in Wolfsburg 2-2.