Relegation-threatened Borussia Moenchengladbach shocked leaders Borussia Dortmund 1-0 on Saturday to ensure a tense finale to the Bundesliga title race.
With second-placed Bayer Leverkusen winning 2-1 at home to Hoffenheim earlier in the day, Dortmund's lead has now been cut to five points with three games left before the season ends on May 14.
"We played an anxious type of football and we were out of sorts," said Dortmund coach Jurgen Klopp. "We did much better in the second half and a draw would have been a fairer result."
The title race will now come down to the next few weeks with Dortmund playing Nuremberg next Saturday, Bremen in a fortnight and then finishing against Eintracht Frankfurt. Leverkusen are at Cologne next Saturday, then host Hamburg and finish against Freiburg.
Gladbach, meanwhile, climbed off the bottom of the table for the first time since November thanks to Cameroon striker Mohamadou Idrissou's first half winner.
"My team played very well and defended superbly," said Gladbach coach Lucien Favre after his side's first win over Dortmund in four and a half years. "Dortmund put us under a lot of pressure, but didn't have that many chances to score."
Dortmund put us under a lot of pressure, but didn't have that many chances to score.
Lucien Favre, Gladbach coach
Bayern's chances fadeBayern Munich's hopes of playing in the UEFA Champions League next season remain on a knife-edge after they needed a last-gasp goal to secure a 1-1 draw at struggling Eintracht Frankfurt.
After Hannover 96 leapfrogged them with a 3-1 win at Freiburg on Thursday, Bayern failed to reclaim third spot which leaves them out of the places for Europe's top domestic competition with three games left.
Frankfurt midfielder Sebastian Rode put his side ahead in the 54th minute. Bayern were furious when a late call for a penalty was turned down after US midfielder Ricardo Clark appeared to handle the ball in the area.
However, the referee did point to the spot after Czech striker Martin Fenin fouled Luiz Gustavo and the league's top-scorer Mario Gomez blasted home the spot-kick in the 89th minute to secure a share of the points for the struggling German giants.
The draw left Frankfurt just above the relegation zone in 15th, but with a five-point cushion, while Bayern are fourth, a point behind Hannover.
"We are very disappointed," said Bayern caretaker coach Andries Jonker. "In this situation, we simply had to win and when you travel to a relegation candidate like Frankfurt, you have to take three points. We really raised our game in the last 20 minutes to force the draw, but overall we had no right to claim three points."
Schalke fall Schalke 04's hopes of a morale-boosting win before Tuesday's Champions League semi-final with Manchester United were dashed in a 1-0 home defeat to Kaiserslautern.
Germany goalkeeper Manuel Neuer, who on Wednesday said he will not renew his contract which expires at the end of next season, was beaten in the 42nd minute by Srdjan Lakic.
VfB Stuttgart, the 2007 champions, pulled away from the bottom three with a 2-0 win at home to Hamburg to go 13th. Werder Bremen's 3-1 win over St Pauli means they are almost certain to stay up. While the defeat left St Pauli at the bottom of the table on goal difference behind Gladbach and VfL Wolfsburg who also have 29 points each.