Defending champions Bayern Munich dropped to third in the Bundesliga on Saturday after crashing to a shock 3-1 defeat at Bayer Leverkusen, allowing Borussia Dortmund to extend their lead at the top of the Bundesliga table to seven points.
Second-half goals by Leverkusen's Leon Bailey, Kevin Volland and Lucas Alario inflicted only a fourth league defeat on Bayern this season while Dortmund added a point to their lead despite being held to a 1-1 draw at Eintracht Frankfurt.
Bayern had their seven-match winning streak in the league ended abruptly and dropped from second to third on goal difference after Borussia Moenchengladbach leap-frogged them with a 2-0 win at Schalke.
"The only positive thing is that Dortmund didn't get three points," Bayern head coach Niko Kovac said.
Bayern took the lead when Leon Goretzka netted his fourth goal in three games with a superb box-to-box effort, tracking back to snuff out a counter attack, then turned tail to sprint into his own area and head home on 41 minutes.
It should have been 2-0 at the break, but Bayern striker Robert Lewandowski had a goal ruled marginally offside, then Leverkusen's fleet-footed attack hit top gear in the second half.
Their fightback burst into life eight minutes after the break when Jamaican winger Leon Bailey curled a free-kick past Bayern's reserve goalkeeper Sven Ulreich, playing in place of Manuel Neuer who was ruled out with a thumnb injury.
Leverkusen then shredded Bayern's defence to leave Volland with a simple tap in on 63 minutes before Argentinian striker Alario, on for Bailey, tapped home on 89 minutes as Bayern were repeatedly punished on the counter.
Gladbach go second
Later, Gladbach moved ahead of Bayern after late goals by Christoph Kramer and Florian Neuhaus at Schalke, who finished with ten man after goalkeeper Alexander Nuebel sent off just before the hour gone.
Neubel was shown a straight red card for bringing down Gladbach forward Thorgan Hazard, who was through on goal, while 18-year-old Welsh winger Rabbi Matondo, signed from Manchester City for nine million euros ($10.3m) last Wednesday, made his Schalke debut late on.
In Frankfurt, Dortmund deserved an away point and went ahead after a fantastic run by Raphael Guerreiro, who dribbled past two defenders and drew a third to leave Marco Reus free to fire home unmarked on 22 minutes.
Dortmund playmaker Reus, who has hit 13 league goals and created nine more, could have scored four times in the first-half alone - twice firing wide and also clipping the bar.
However, Frankfurt drew level nine minutes before the break when Luka Jovic, the league's top-scorer with 14 goals, finally beat Dortmund goalkeeper Roman Burki, moments after seeing an effort saved, when he poked home a cross.
Burki described Bayern's defeat as "small consolation" after Dortmund surrendered the lead in Frankfurt.
At the other end of the table, Nuremberg climbed off the bottom with a 1-1 draw at home to Werder Bremen as Johannes Eggestein's second-half goal was cancelled out by a late equaliser from Nuremberg's Swedish striker Mikael Ishak.
Mid-table Hertha Berlin, who host Bayern in the German Cup's last 16 on Wednesday, crashed to a 1-0 home defeat at the Olympic Stadium as towering Dutch striker Wout Weghorst scored Wolfsburg's winner.
And Fortuna Duesseldorf, trashed 4-0 by Leipzig last Sunday, earned a point at Hoffenheim as Rouwen Hennings late equaliser cancelled out Andrej Kramaric's first-half penalty.