Bayern looked set to spend the six-week mid-season break down in third place as they fell 2-0 behind to Stuttgart through Silvio Meissner and Kevin Kuranyi goals.
Claudio Pizarro pulled one back in the 67th minute, though, and his fellow Peruvian striker Paolo Guerrero grabbed the equaliser two minutes from time.
Bayern's failure to get all three points gave Schalke the chance to move into first place but Ralf Rangnick's side were denied victory by bottom club Freiburg.
Mladen Krstajic put Schalke ahead in the 24th minute but they failed to kill the game off and Lebanon international Roda Antar headed in with three minutes to go to claim a surprise 1-1 draw.
At the halfway stage in the season, Bayern lead the standings with 34 points from 17 games, ahead of Schalke on goal difference. Stuttgart stay third on 31 points.
"We were lucky to get the draw," said Bayern coach Felix Magath, who left Stuttgart to take over at the Bavarian club before the start of the season.
"I'm not happy with the way we played today but I'm very pleased with the way the first half of the season has gone."
Magath's side were put off by Stuttgart's aggressive approach, with the visiting midfield snapping at Bayern heels.
Bayern were further unsettled when Stuttgart took the lead with their one clear chance of the first half, as Mathieu Delpierre nodded the ball on from a corner for Meissner to lash in.
A bad mistake from Oliver Kahn led to the second goal after 65 minutes, with the keeper failing to hold a weak shot from Cacau and allowing Kuranyi in for a simple finish.
Bayern reduced the arrears almost immediately when Pizarro swept in from 15 metres out and the home side just about deserved the equaliser, turned in by Guerrero after the keeper had saved a Michael Ballack header on the line.
A draw would not have been enough to keep Bayern top had Schalke not paid the price for a series of missed chances in the first half against Freiburg.
"Naturally, we're disappointed," said Schalke coach Rangnick. "We had chances to decide the game early on but in general we didn't play well."
The league season resumes on January 21, when Bayern host Hamburg SV.
More from rediff