Bayern Munich saw their winning run brought to an end on Saturday as mid-table Schalke left the Allianz Arena with a 1-1 draw.
Robert Lewandowski fired Carlo Ancelotti's men in front but Naldo levelled things up soon after, with Schalke more than deserving of the point after an energetic performance.
The draw brought an end to Bayern's eight-match winning run in all competitions, although they remain at the top of the Bundesliga table.
Bayern have suffered just a single defeat in the league this season and it was no surprise they took the lead after nine minutes.
Arjen Robben whipped a cross into the area where Arturo Vidal was waiting in a central position. The Chilean in turn slipped a pass through to Lewandowski, who lifted the ball over Ralf Fahrmann in the Schalke goal.
However, the home side could only defend their advantage for four minutes. Vidal brought down Guido Burgstaller 20 yards out from goal and Brazilian defender Naldo did the rest, hammering the free kick round the wall and into the net for his first goal since December 2015.
Bayern goalkeeper Manuel Neuer could perhaps have done a better job against Naldo's strike but he produced an excellent save after 17 minutes to keep his side level, parrying away a shot from Sead Kolasinac while one-on-one with the Schalke left-back.
And the hosts responded to the near miss with a great chance of their own six minutes later. Juan Bernat managed to squirm away from his marker to find space in the area but his strike was turned away by Fahrmann's foot.
Schalke continued to test their opponents to the full and after Leon Goretzka had missed the left-hand post by inches on the half hour, Burgstaller came even closer to scoring 10 minutes later when he ran onto a ball from Kolasinac but smacked the crossbar with his strike.
Bayern also rattled the woodwork before the half-time whistle through Lewandowski, who took aim from 15 yards after a lay-off from Thomas Muller only to see his angled drive come back off the bar.
Burgstaller threatened again for the visitors early in the second half but could not get enough power on his header, allowing Neuer to make a comfortable save.
Schalke then had the ball in the back of the net after 54 minutes through Nabil Bentaleb but the Algerian midfielder was deemed to be offside when he connected with his volley.
The chances dried up thereafter for both teams although substitute Eric Maxim Choupo-Moting tried to introduce some spark with a shot from distance which flew over the bar, shortly after his introduction in the 74th minute.
But it was Bayern who should have claimed the points four minutes from time when David Alaba picked out an unmarked Javi Martinez at the far post. However, the Spaniard fluffed his shot wide and the chance was lost.