Leaders RB Leipzig have suffered their first German Bundesliga defeat since October in a 2-0 loss at Eintracht Frankfurt, but will still end the weekend on top.
Borussia Moenchengladbach are now just two points behind after Alassane Plea's double in a 3-1 comeback win at home to Mainz, also on Saturday.
Third-placed Bayern Munich can close the gap to Leipzig to a point with a win at home to Schalke in Saturday's late game.
Fourth-placed Borussia Dortmund are level on points with the champions after Erling Braut Haaland scored another two goals in Friday's 5-1 thrashing of Cologne.
In other Saturday games, Union Berlin beat Augsburg 2-0 at home, while 10-man Paderborn climbed off the bottom with a 2-0 win at Freiburg courtesy of Christopher Antwi-Adjei and Abdelhamid Sabiri.
Hertha Berlin won 2-1 at Wolfsburg later on.
Frankfurt announced before kick-off that forward Goncalo Paciencia had extended his deal by a year until 2023, but none of the strikers on show had their shooting boots on in the first half.
The second half though began with a bang as right back Almamy Toure fired Frankfurt into the lead with an unstoppable shot from just outside the box. It was a first=ever Bundesliga goal for the 23-year-old Frenchman and one to remember.
Filip Kostic tapped in Paciencia's pass late on to wrap up the points for Frankfurt, who nudged up to ninth place.
Leipzig huffed and puffed but looked a shadow of the side who had won eight of their last nine league games and slumped to only their third Bundesliga defeat this term.
In the only Saturday game with goals in the first half, Mainz took a surprise lead when Gladbach failed to deal with a long ball over the top and Robin Quaison lashed in.
But Gladbach hit back midway through the first period when Plea was given time to sidefoot home a free-kick.
The French striker almost scored again after the break but was denied by a fine save from Robin Zentner. But soon after he did grab his second on 76 minutes with either an inspired or fluke finish when a cross went in off his wrong foot.
Zentner was then caught out on 88 minutes after heading clear outside the box. Florian Neuhaus picked up the ball and expertly chipped the backpedalling goalkeeper from distance.
The result slightly flattered Gladbach, who lost at Schalke last weekend.
Strugglers Werder Bremen and Fortuna Dusseldorf are in action on Sunday when they face Hoffenheim and Bayer Leverkusen, respectively.
Dusseldorf now prop up the table on goal difference after Paderborn's win.
Australian Associated Press