A stunning goal from Ivan Perisic proved the difference for Dortmund in a 3-2 win at title-rivals Schalke in the Bundesliga which all but eliminated their opponents from the title race, sealing a UEFA Champions League spot for BVB next season.
Despite being put under heavy pressure right from the start, including when Klaas-Jan Huntelaar has a ‘goal’ ruled out inside ninety seconds, Dortmund took the lead after five minutes when Neven Subotic bundled home a corner. Five minutes later and Julian Schieber got on the end of a Götze free-kick to double the lead.
Ilkay Gündogan, who was one of four changes for BVB, was taken off after half an hour after a collision with Diego Contento and Dortmund changed shape before the break to try and stem the dangerous Schalke front-line. Just after the break, Huntelaar headed home a cross from the left, and were back on level terms after an hour when Benedikt Höwedes crashed home a loose ball in the box following a corner.
With all the momentum with the hosts, Perisic stunned the sold-out crowd with a solo goal reminiscent of that Ryan Giggs goal for Manchester United against Arsenal in an FA Cup match a few years ago. The win is Dortmund’s first on the road for two months.
In tonight’s other Bundesliga match, Bayern Munich beat VfB Stuttgart 3-0 at home to put a four-point gap between them and Mainz/Schalke in 3rd/4th place. Winning their game in hand, then beating Dortmund at the beginning of next month would close the gap to a single point.
FC SCHALKE 2-3 BORUSSIA DORTMUND Huntelaar 50 Subotic 5 Höwedes 63 Schieber 11 Perisic 74 Att: 61,673 Bundesliga, VELTINS-Arena. Dry, 11°C. Ref: G.Winkmann
FC SCHALKE BORUSSIA DORTMUND 34. Timo Hildebrand 6.6 | 1. Roman Weidenfeller 7.9 22. Atsuo Uchida [Y] 6.9 | 2. Andreas Beck 7.1 4. Benedikt Höwedes (c) 7.4 | 4. Neven Subotic 8.0 32. Joel Matip 6.9 | 5. Mats Hummels (c) 7.8 19. Diego Contento [Y] 6.8 | 3. Marcel Schmelzer [Y] 7.5 8. John Obi Mikel 6.8 | 6. Sven Bender 7.4 13. Jermaine Jones [Y] 6.9¹ | 24. Ivan Perisic [*] 8.6 17. Jefferson Farfán 6.9 | 8. Ilkay Gündogan 7.0¹ 10. Lewis Holtby 6.8 | 10. Mario Götze 7.3 31. Julian Draxler 6.9 | 23. Julian Schieber 7.3² 25. Klaas-Jan Hunterlaar 7.4 | 9. Robert Lewandowski 7.0 ------------------------------ | ----------------------------- 36. Lars Unnerstall . | 20. Mitchell Langerak . 3. Sergio Escudero . | 7. Viktor Fischer . 11. Ibrahim Afellay . | 14. Taye Taiwo . 12. Marco Höger n/a¹ | 15. Felipe Santana . 20. Teemu Pukki . | 16. Lasse Sobiech . 27. Tranquillo Barnetta . | 19. Kevin Großkreutz 6.9¹ 33. Roman Neustädter . | 22. Julian Koch 6.8²
Match report by @realtimeFM:
 We’re underway here in Gelsenkirchen in the Revierderby. Dortmund currently hold the bragging rights with an eight-point lead over their rivals, and a 6-0 win back in the reverse fixture back in November.
 Dortmund have made four changes from the side that drew at Mönchengladbach at the weekend. Marcel Schmelzer and Neven Subotic return in defence, Ivan Perisic is in for the injured Marco Reus and Ilkay Gündogan starts ahead of Dennis Praet who misses out with a cold.
 John Obi Mikel tests Roman Weidenfeller inside the opening twenty seconds when Julian Draxler finds him 20 yards out. It’s a good save low down by the ‘keeper to palm it away.
 Klaas-Jan Hunterlaar slips behind the high Dortmund line and tries to clip the ball over Weidenfeller, but it drops over the top of the bar. Schalke have come out all guns blazing!
 Huntelaar gets on the end of a Draxler cross but the flag’s up on the far side. Correct call, and a wake up call for the visitors.
 Dortmund make their first attack of the match and win a corner when Gündogan’s shot is knocked wide.
 1-0 DORTMUND! The leaders stun their biggest rivals when Neven Subotic bundles the ball home. Julian Schieber flicked a corner on at the near post, Hildebrand can’t gather it and Subotic gets a vital touch inside the six-yard box.
 Atsuto Uchida is cautioned after he clatters Ivan Perisic.
 2-0 DORTMUND! How about this then?! Mario Götze pops the free-kick into the box where Julian Schieber escapes his marker and volleys past Hildebrand from ten yards out.
 Mario Mandzukic has put Bayern Munich 1-0 up at home to VfB Stuttgart in tonight’s other match.
 Benedikt Höwedes gets on the end of a Contento corner but powers his header over the bar.
 Schalke throwing everything at Dortmund at the moment, who are having to defend well. Huntelaar wins a free-kick 25 yards out, but hits it straight at Weidenfeller.
 Jermaine Jones goes through the back of Mario Götze and joins his teammate in the book.
 Julian Schieber has an effort from just inside the box saved low down by Hildebrand after he gets on the end of a Perisic through-ball.
 Schalke have had more of the ball in the last ten minutes but haven’t threatened too much. Shots from range with a couple of efforts that were hit tamely at Weidenfeller. Looking the more likely to get the next goal, but will have to work the ball into the box better.
 Diego Contento and Ilkay Gündogan (7.0) collide in mid-air and the Dortmund man has come off worse. He’s replaced¹ by Kevin Großkreutz after a small delay for treatment.
 Schalke have changed their shape here, going with three up-front to penetrate the back four. Draxler coming in from the left.
 Klaas-Jan Huntelaar hits the post, but the whistle goes before Mikel hammers the loose ball at Weidenfeller as Huntelaar was offside.
 Julian Schieber suffers the ignominy of having a shot go out for a throw-in after he drags an effort well wide on the wet turf, hitting the far corner flag and go out.
 Lewis Holtby does well to go past Beck and send a great cross over for Huntelaar who has his volley turned round the post by Weidenfeller.
 Kevin Großkreutz has a header saved at a corner.
HALF-TIME: FC Schalke 0-2 Borussia Dortmund (Bundesliga)
[HT] Sami Khedira scored twice for Bayern Munich in the last three minutes of the first-half of their game against Stuttgart. They lead 3-0.
 Schalke win five corners in a row. The first comes when Draxler and Huntelaar combine on the left, before Hummels puts the ball behind. Three corners are headed behind at the near post, before efforts from outside the box are both deflected wide.
 GOAL FOR SCHALKE! Jefferson Farfán beats Beck down the left and lobs a cross into the six yard box that drops nicely for Klaas-Jan Huntelaar to nod past Weidenfeller. It’s certainly been coming.
 Caution for Marcel Schmelzer as he trips Farfán. Schalke were on the counter from a corner and he’s taken one for the team there. He’ll miss Saturday’s match against VfL Bochum.
 Schalke win another corner when the freekick is floated into the box, but Hummels clears it behind.
 Schalke have a shout for a penalty here. Mats Hummels and Diego Contento come together in the box as Farfán whips a cross in. The Dortmund skipper didn’t look like he got anything on the ball.
 Stunning save from Roman Weidenfeller when Huntelaar heads Farfán’s cross down into the pitch, six-yards out. Weidenfeller changes his dive mid-air and manages to fingertip the bouncing ball over the top from almost under his own crossbar.
 Dortmund are defending deeply, with Schieber back helping out, meaning they don’t have many options going forwards, as Lewandowski finds out when he has no one to get a cross in to.
 Julian Draxler cuts in from the left and fires at goal, which Weidenfeller pushes round the post. Großkreutz puts it behind for another corner.
 EQUALISER FOR SCHALKE! Dortmund don’t clear the corner away, with Andreas Beck not getting a clean touch on the ball which squirms loose and is hammered home by Benedikt Höwedes eight yards out. No more than they deserve.
 All the momentum is with the hosts who have Dortmund pinned back in their own half.
 3-2 DORTMUND! An absolutely stunning goal by Ivan Perisic puts Dortmund back in front. Marcel Schmelzer wins the ball off Jefferson Farfán inside the box, playing it to Weidenfeller who knocks it to Perisic on the edge of his own penalty area. He runs the length of the field down the left, cuts inside, and finds the bottom corner from 18 yards out.
 Goal of the season contender right there. Brilliant stuff. Perisic kisses the badge in front of the pocket of travelling fans in the corner.
 Second change for Dortmund²: Julian Koch is on for Schieber (7.3). They’ve gone 4-5-1.
 Two more corners for Schalke but Mats Hummels commands his penalty area well, clearing both away.
 Farfán drags a shot well wide from the edge of the box.
 Schalke have made a change¹: Marco Höger is on for Jones (6.9).
 Dortmund look far more robust at the back with Koch and Bender in front of their back four. Looking to hold out here rather than grab a fourth.
 Diego Contento clatters Mario Götze right in front of the benches, and tempers flair. Once the handbags are calmed down by referee Guido Winkmann, there’s a yellow card for Contento.
 Robert Lewandowski gets on the end of a cross from Koch but Hildebrand pushes it behind. Dortmund careful not to over-commit here, and taking their time with the restart.
 Julian Daxler has a great chance to level it, as the fourth official’s board goes up with four minutes on it. A cross drops perfectly for him but his half-volley spins over the bar from 12 yards out.
FULL-TIME: FC Schalke 2-3 Borussia Dortmund (Bundesliga)