Schalke 2 Borussia Dortmund 2: Spirited hosts deny Tuchel's men in Ruhr derby
Borussia Dortmund's hopes of catching Bayern Munich in the Bundesliga suffered a huge blow as they drew at rivals Schalke.
Schalke all but ended Borussia Dortmund's Bundesliga title hopes as they twice came from behind to draw 2-2 with their rivals in the Ruhr derby on Sunday.
Thomas Tuchel made eight changes to his team in preparation for Thursday's Europa League quarter-final second leg against Liverpool at Anfield and saw his team miss the chance to win a third straight derby clash, which would have been their best run in the fixture since 1967.
All four goals came within a 17-minute spell at the start of the second half, with Shinji Kagawa's brilliant chip and Matthias Ginter's header cancelled out by Leroy Sane's low strike and a Klaas-Jan Huntelaar penalty for the hosts.
The result means Dortmund are seven points behind leaders Bayern Munich with only five games remaining, while Schalke stay seventh but move level with fourth-placed Borussia Monchengladbach in the race for Champions League qualification.
Dortmund threatened first when 17-year-old Christian Pulisic's looping header from Erik Durm's cross was only just dealt with by a backpedalling Ralf Fahrmann in the home goal.
Pulisic was the main threat and he should have scored from Dortmund's next opening, racing though on goal and firing inches wide of the far post.
Schalke's first attempt of note saw Sane unleash an excellent long-range strike which had Roman Burki worried before clipping the outside of the post.
Get FourFourTwo Newsletter
The best features, fun and footballing quizzes, straight to your inbox every week.
Junior Caicara fired off-target from Younes Belhanda's pass shortly before half-time, with Huntelaar furious at the Brazilian for opting to shoot instead of cross.
Henrikh Mkhitaryan came on for Mats Hummels in a tactical half-time change and Dortmund took the lead in stunning fashion within four minutes of the restart.
Kagawa played a neat one-two with Moritz Leitner on the edge of the area before scoring with a stunning first-time chip.
But Schalke made a prompt response, levelling in less than three minutes. After Pierre-Emile Hojbjerg's shot was blocked, Caicara's cross was pushed out by Burki and Sane smashed home with his left foot.
Dortmund moved back in front in the 56th minute when Mkhitaryan's set-piece delivery from the right took a huge deflection and ended up right on the head of an unmarked Ginter to convert from six yards.
However, a thrilling second half saw Schalke draw level for a second time with 25 minutes remaining. Sokratis Papastathopoulos was ruled to have brought down Huntelaar from behind and the Dutchman took the spot-kick himself, calmly sending Burki the wrong way.
Dortmund almost re-took the lead when Fahrmann made a crucial save from Kagawa after Pulisic's cutback, before the visitors were boosted by Ilkay Gundogan's appearance from the bench after more than a month out injured, with Pierre-Emerick Aubameyang also introduced.
Aubameyang almost got away in the closing stages but was denied by a crucial Joel Matip block, while Schalke saw substitute Max Meyer miss the target with a good opportunity as Dortmund left knowing that the Europa League and DFB-Pokal will now have to be their priorities.