Schalke 04 twice bounced back from a goal down to snatch a 2-2 draw against rivals Borussia Dortmund in their 100th Ruhr valley derby in the Bundesliga on Saturday to end their opponents' eight league game winning run.
Dortmund, who suffered a Champions League last-16 exit to Chelsea this week, are on 50 points in second place, with Bayern Munich on 52 following their 5-3 win over Augsburg earlier.
Schalke are in 17th place but their spirited performance confirmed their improving form as they stretched their unbeaten run to seven consecutive league matches.
"We had good parts in the first half, had chances to score. Then we stopped doing it that well in the second half and then it became wild which is what Schalke wanted," said Dortmund coach Edin Terzic.
"We know we can play good football which we showed today in the first half but we also know that we do not keep it up throughout the game."
"In the past weeks there has been talk about how far the team is or if it is ready for the league title and we kept saying we have to remain humble. We have to keep working on our issues. We have learn from it (the match) if we want to reach higher goals."
Both sides missed golden chances to score in the first half but the hosts, who were missing captain Marco Reus and injured Julian Brandt, went in front after 38 minutes.
Dortmund defender Nico Schlotterbeck was given far too much spacewhen he picked up the ball well outside the box and drilled in from 18 metres.
Schalke bounced back five minutes after the restart with a Marius Buelter tap-in, their first goal in the Ruhr derby since 2019.
But Raphael Guerreiro restored order for Dortmund spectacularly rifling into the top corner on the hour mark.
The Royal Blues, however, did not give up and levelled for the second time with Kenan Karaman's powerful header in the 79th.