Wasteful Bayern Munich were made to sweat for a 3-2 win at Paderborn that sent them top of the Bundesliga on Saturday after RB Leipzig went down 3-1 at home to Schalke 04 for their first loss of the season.
Bayern squandered a bagful of chances, hit the woodwork and conceded two goals in the second half in an inconsistent performance that put a damper on their league lead.
The Bavarians went in front through Serge Gnabry in the 15th minute after a sensational start that saw them hit the post and create chance after chance.
Top scorer Robert Lewandowski managed to somehow miss a completely open goal from 10 metres, firing wide.
Gnabry then set up Philippe Coutinho 10 minutes after the restart for their second goal but instead of scoring again it was the hosts who came alive with Kai Proeger's powerful volley in the 68th.
Lewandowski got on the scoresheet with his 10th league strike when he chipped keeper Jannik Huth in the 80th to restore their two-goal cushion but a sensational 30-metre missile from Jamilu Collins four minutes later renewed the hosts' hopes and set up a nervous finale.
"We had imagined it differently," said Bayern coach Niko Kovac. "We had the chances to finish it off in the first half. We did not do it and then it can go like that. It gets tight and then it can even go wrong in the end."
Bayern are top on 14 points, one ahead of Leipzig who were caught on 13 by Schalke in third after a fourth straight win.
Borussia Dortmund dropped to seventh on 11 after drawing 2-2 against Werder Bremen.
Schalke went ahead with a powerful Salif Sane header in the 29th and doubled their lead through Amine Harit two minutes from halftime.
Rabbi Matondo's solo effort essentially killed off the game with Emil Forsberg grabbing Leipzig's 200th league goal seven minutes from time.
Schalke and Leipzig were joined on 13 points by Borussia Moenchengladbach, 3-0 winners at Hoffenheim, and Bayer Leverkusen, who beat Augsburg by the same score.
Gladbach have now won their first three away matches of a season for the first time in 38 years.