Eintracht Frankfurt stunned Bayern Munich with two late goals to beat the Bundesliga leaders 2-1 on Saturday and leave the top spot up for grabs.
Substitute Juvhel Tsoumou drew the hosts level in the 87th minute after Miroslav Klose had put Bayern ahead early on and Martin Fenin, another substitute, completed the comeback with an 89th-minute winner.
Bayern, who had not lost in the league for 19 games, have 56 points from 27 matches. Second-placed Schalke 04, on 54, can go top on Sunday with victory at Hamburg SV.
Bayer Leverkusen missed a chance to regain the lead, losing 3-0 at in-form Borussia Dortmund with Argentine striker Lucas Barrios scoring twice and Dimitar Rangelov notching a late third.
Leverkusen stayed third on 53 points, with Dortmund fourth on 48.
Visiting Bayern shrugged off the absence of injured playmaker Franck Ribery and strikers Mario Gomez and Ivica Olic to take a seventh-minute lead.
Captain Mark van Bommel sent a deep cross into the box and Klose beat the offside trap to score from close range.
Bayern almost immediately stepped off the gas and Frankfurt seized the opportunity to pour forward.
"I did not see a dominant Bayern today," coach Louis van Gaal said. "We lost the ball far too often in midfield and in attack and that put our defence under constant pressure."
Frankfurt went agonisingly close to an equaliser when Benjamin Koehler's long-range effort forced a spectacular save from keeper Hans-Joerg Butt.
Koehler also tried his luck with a header but Butt was again at hand to palm the ball over the bar, just after visiting defender Daniel van Buyten had stopped an Alexander Meier header on the line.
Frankfurt, who ended a three-match losing streak, kept up the pressure in the second half and were unlucky not to level before Tsoumou, who had come on four minutes earlier, pounced on a bad clearance by Butt in the 87th.
With the Bavarians still reeling, Halil Altintop sent a deep cross to substitute Fenin who shook off 17-year-old defender David Alaba to fire the winner.
Elsewhere, Werder Bremen moved up to fifth on 45 points with a 3-2 home victory over VfL Bochum thanks to goals from Claudio Pizarro, Marko Marin and Torsten Frings, who scored from 30 metres in the 81st minute.
VfB Stuttgart overcame Hanover 96 2-0, Freiburg beat Mainz 1-0 and Nuremberg shared a 0-0 draw with Hoffenheim.