Thiago Alcantara's second-half equaliser rescued Bayern Munich in Saturday's 2-2 draw at home to Mainz as the runaway Bundesliga leaders twice came from behind.
Having bowed out of the Champions League quarter-finals at Real Madrid in midweek, the draw caps a week to forget for Bayern, who are winless in their last four games.
Relegation-threatened Mainz came close to another shock win in Munich, but Bayern extended their unbeaten home run in the league to 20 matches dating back to March 2016 -- when they lost 2-1 to Mainz.
Spain star Thiago hit the equaliser 17 minutes from time against a team just one point above the relegation places with four games left.
Second-placed RB Leipzig can cut Bayern's lead to six points by winning at Schalke on Sunday.
Leipzig host Carlo Ancelotti's Bayern on the penultimate weekend of the season on May 13.
It was a poor performance from double-chasing Bayern ahead of Wednesday's German Cup semi-final at home to Borussia Dortmund.
"It wasn't easy to play after the shock against Real Madrid, but we could have done better," admitted Ancelotti.
"We expected more. We weren't good in the first half and not compact enough.
"I am sure it will be better against Dortmund on Wednesday. We have time to prepare ourselves and we will play better."
Mainz took the lead just three minutes after kick-off at the Allianz Arena when ex-Barcelona midfielder Bojan Krkic fired home his first goal for Mainz and stun the home crowd.
Normal service was resumed when Arjen Robben sprinted onto Franck Ribery's superb pass and rifled home Bayern's first equaliser on 16 minutes.
Munich then lost Austria defender David Alaba, clutching his thigh and he is doubtful for Wednesday's semi-final.
Bayern's problems were compounded when his replacement Joshua Kimmich fouled Mainz's Japan striker Yoshinori Muto in the area.
Bayern's goalkeeper Manuel Neuer is sidelined with a foot fracture for the rest of the season and his replacement Sven Ulreich could not stop Daniel Brosinski's penalty on 41 minutes that put Mainz 2-1 up at the break.
But Bayern finally made their 75 percent possession count through Thiago's equaliser from 17 yards out.
- Aubameyang strikes -
Pierre-Emerick Aubameyang, the league's top-scorer, hit his 27th league goal this season as Raphael Guerreiro headed the winner in Borussia Dortmund's 3-2 win at Borussia Moenchengladbach to climb to third.
Dortmund are now on course to qualify for a direct Champions League berth after Marco Reus converted an early penalty to give the visitors the lead.
Gladbach fought back with captain Lars Stindl equalising before Dortmund skipper Marcel Schmelzer put the ball in his own net to put the hosts 2-1 up early in the second half.
But Aubameyang came on for Reus to slot home from a tight angle before Guerreiro's superb late header sealed the win as Dortmund moved above four-placed Hoffenheim, who drew 1-1 at Cologne on Friday.
"The win did us some good, we showed that we are back again," said goalkeeper Roman Burki, ten days after a bomb attack on the Dortmund team bus left defender Marc Barta with a fractured wrist.
Earlier, Germany striker Max Kruse scored all four goals in Werder Bremen's 4-2 win at Ingolstadt to break into the top six.
Kruse is playing his way into Germany's squad for June's Confederations Cup with nine goals in his last seven league games.
Hertha Berlin stayed fifth -- on course for a Europa League berth next season -- after Vedad Ibisevic's second-half goal sealed a 1-0 win over Wolfsburg, who dropped to 14th.
The 2009 Bundesliga champions and 2015 German Cup winners are just one point above the bottom three.
Bottom side Darmstadt delayed their impending relegation by another week with a 2-1 win at Hamburg as captain Aytac Sulu and striker Felix Platte netted for the visitors in the first three minutes after the break.
However, Darmstadt, coached by ex-Germany midfielder Torsten Frings, are 12 points from safety with four games left and have only a mathematical chance of staying up.
Eintracht Frankfurt picked up their first win in eight games as Mexico midfielder Marco Fabian netted two late goals in their 3-1 comeback win at Augsburg.