Watch: Schalke 2-2 Dortmund - AWS Match Facts analysis
Watch: Terzic: "We opened the door for them"
Watch: Schlotterbeck: "It's frustrating"
Watch: Yoshida: "A point is fair"
Full-time: Schalke 2-2 Borussia Dortmund
Another stinging drive from Schlotterbeck, which is blocked, and the ball lands out to Dahoud, who also has a drive stopped in a frenetic attack! Three minutes of stoppage time are to be played.
Speed check: The fastest player in the game after 90 minutes
Schalke look more likely to pinch a win here! Balanta has a chance to set up a shot just inside the box and gets plenty of power on the effort, but Meyer is down well to save.
Hummels on Bülter
A great tussle! Bülter wins the ball and tries to sprint away with it in the Dortmund half. Hummels gets across and slides in with a superbly timed challenge.
Mohr wants more
A testing cross-cum-shot from the Schalke winger, but Meyer saves.
You always expect something special in the Revierderby, but when you have a thrilling game with the sides swapping four goals and everything to play for in the final minutes, the atmosphere is truly electric!
He's been a real goal threat tonight and has a chance to immediately restore Dortmund's lead, but sends it just wide.
Derby drama! Bülter whips in a cross and Karaman sends a brilliant header into the bottom corner to delight his team-mate and fans! We're level again with 10 minutes and stoppage time remaining!
Guerreiro aims for another
Bellingham feeds the ball to Guerreiro on the verges of the box. He applies a curling effort, but it dips into the hands of Fährmann.
Brunner effort deflected behind
Schalke are determined to salvage some of the local bragging rights. Brunner smashes an effort from outside the box from a corner, but it takes a deflection off another man in blue, Jenz, and goes behind for a goal-kick.
Schalke do seem like they've been tiring - understandably so - and Thomas Reis makes three substitutions to try to give them the boost they need in the final 15.
The xG has been fairly level, but Dortmund's extra quality has given them the advantage thanks to two superb finishes.
Not much in it
Despite Schalke's great efforts, Dortmund seem to be finding pockets of space every time they attack. Having said that, Schalke attacker Frey just flicks a header at a good cross - Meyer saves with ease though.
Bülter breaks derby hoodoo
© IMAGO/Kirchner/Marco Steinbrenner/IMAGO/Kirchner-Media
Bynoe-Gittens goes agonisingly close!
So close to a third goal for Dortmund and a special moment for young Bynoe-Gittens. He receives the ball well from a Wolf pass forward and has the goal gaping in front of him but slips a shot just the wrong side of the post.
What further twists will we see?
Zalazar swings in a free-kick from out wide that Meyer saves. Dortmund struck again just when Schalke had levelled and thrown everything up into the air. You can be sure both sides will give their all over the remaining 25 minutes or so!
Guerreiro grabs the lead for Dortmund again!
How clinical was that?! Can charges through the midfield and picks out a peeling run from Guerreiro on the left. The Portuguese international takes a little touch and then smashes the ball straight into the roof of the net!
Bellingham deflected behind
The English midfielder sets up a long-range effort in a similar style to his team-mate, Schlotterbeck, in scoring before the break. Bellingham's effort is deflected behind, however.
The Schalke man jumps into a challenge against Bynoe-Gittens and sees yellow.
This way and that!
Schalke immediately press on after scoring and look to take the lead from a corner. Dortmund defend that and take the ball straight down the other end, getting into a threatening position until Guerreiro gives the ball away.
It's a little against the run of play, but Schalke's application has deserved them a chance to get back in this! A quick attack beats the Dortmund defence with ease as it is played out to Zalazar, who slips a perfect ball across for Bülter to tuck in at the far post and send the Schalke fans wild!
Bynoe-Gittens shot blocked
Dortmund have started where they left off at the end of the first period, keeping the ball well and playing positively. English youngster Bynoe-Gittens hits an effort around 20 metres out that is blocked by a defender.
Off we go again
If Dortmund see this out and win the derby, they would go level on points with Bayern again at the top of the table, while Schalke would be bottom of the pack again if they are beaten.
Half-time: Schalke 0-1 Borussia Dortmund
© INA FASSBENDER/AFP via Getty Images
The goal has clearly lifted Dortmund's spirits and added an extra touch of fluency to their impressive play. They want more goals against their local rivals. One minute of stoppage time has been indicated.
Malen almost makes it two
Wolf picks out Malen on the left with a clever pass. The Dutch attacker has been a threat throughout the half, and his effort looks goalbound until Yoshida deflects it behind.
Jude Bellingham dances his way superbly around Brunner out on the left and creates an opening for himself. He drives the ball at the near post but Fährmann saves.
Schlotterbeck smashes opener!
Pick that one out! The ball is passed to Schlotterbeck just outside the box and the German international centre-back drives it superbly inside the far post for a stunning opening goal.
The game has suddenly opened up. Wolf is denied by Fährmann and Schalke then race to the other end to attack.
Dortmund more active in front of goal
1 off target
1 on target
4 off target
2 on target
Yoshida on top of things
The Japanese defender has continued his superb form so far today - he hasn't lost a single challenge yet.
Brilliant Borussia move
Bellingham and Malen combine at the end of a fluent attacking move. The Dutch attacker turns nicely and fires on target, but Fährmann saves well.
Speed check: The fastest player in the game after 30 minutes
Dangerous clearance from Jenz
Malen whips a cross in and Jenz's attempt to clear the danger ends with him diverting the ball very close to his own target.
© Lukas Schulze/Bundesliga/Bundesliga Collection via Getty Images
So close from Salazar!
The Schalke attacking midfielder steals the ball off Mats Hummels and goes one-on-one with Meyer in the Dortmund goal. He is a bit hasty in shooting, however, and the effort zips off-target in a real chance for an opener.
Guerreiro free-kick deflected over
With Dortmund's usual set-piece specialist Marco Reus out ill today, Guerreiro tries his luck from around 25 metres out. His delivery takes a deflection off the Schalke wall and goes behind for a corner.
Bülter cross cleared
End-to-end stuff as Bülter works the ball into a great position to cross, but Hummels smashes clear.
Guerreiro gives his all
Hummels plays a long pass through for the Portuguese full-back to chase. He has four goals in his career against Schalke but Fährmann gets his fists to the ball to keep the effort out.
Malen does well to get a sharp little cross in to Haller at the near post. He's sandwiched by two Schalke defenders and isn't able to get a shot away.
Schalke have enjoyed a few spells of possession now too and are working the ball forward confidently. It's been a lively start with nothing between the two.
A first threatening move for the hosts comes on the counter - Zalazar chases the ball towards goal but Hummels gets across to challenge him.
More good defending from the 22-year-old left-back to slide in and poke the ball away from Wolf.
BVB bossing the ball in the opening
Malen down the wing
The Dutchman takes on Matriciani on the right flank, but the Schalke full-back makes very sure he doesn't pass.
Ryerson whacks a shot in
The ball falls to Ryerson on the edge of the box in a smart Dortmund attack. He fires wide of the target and a flag goes up for offside.
Dortmund have been keeping the ball well and Schalke hunting them down with real purpose in the opening minutes.
HERE WE GO!
Dortmund kick off the 100th Revierderby!
Happy home fans
The place is bouncing
We've just heard a very noisy rendition of Schalke's club anthem, Das Steigerlied, and we await the players with kick off fast approaching.
Hummels the lucky charm?
© IMAGO/nordphoto GmbH / Teresa Kroeger/IMAGO/Nordphoto
There's no other match in Germany, or anywhere, quite like it, and with the two rivals in such great form the stadium is filling up nicely with confident and noisy fans of both clubs.
Giving youth a chance
Thomas Reis has incidentally selected the youngest Schalke starting XI of the season today (at an average age of 26.8). Dortmund still have a younger side though (average age of 26.5).
Watch: Raphael Guerreiro's shirt is ready
Watch: Schalke players out on pitch
Schalke team news
As expected, Thomas Reis has little reason to shuffle the pack of a Schalke side in excellent form (six unbeaten). There is just one change to the side that started a 2-0 win in Bochum - with Can Aydin replacing Eder Balanta in midfield after the Colombian suffered a few injury issues during the week.
Dortmund team news
Edin Terzic makes four changes to the side that started the club's first defeat of 2023 at Chelsea in midweek. Injury and illness has denied him the services of Julian Brandt and Marco Reus in the derby, with Malen and Bynoe-Gittens starting attacking positions as a result. Ryerson is available again and slots in at right-back, with the experienced Hummels brought into the middle of defence for Süle. Wolf is pushed to a more forward position as Özcan drops to the bench.
Schalke starting XI
Fährmann - Brunner, Yoshida (c), Jenz, Matriciani - Kral, Aydin, Krauß - Zalazar, Frey, Bülter
Schwolow, Greiml, Kaminski, Müller, Tauer, Mohr, Balanta, Terodde, Karaman
Dortmund starting XI
Meyer - Ryerson, Hummels (c), Schlotterbeck, Guerreiro - Bellingham, Can - Wolf, Malen, Bynoe-Gittens - Haller
Lotka, Meunier, Süle, Özcan, Reyna, Dahoud, Passlack, Modeste, Njinmah
Watch: Revierderby analysis
Watch: How Dortmund beat Schalke
Defence vs. attack
Despite their precarious position, Schalke boast the best defence in the 'Rückrunde' (the German term for the second half of the season), with only one goal conceded in six games. BVB have scored 16 goals in that time, putting them second only to Mainz in that regard. However, they're out on their own for total strikes since the turn of the year, with 22 across eight matches.
Watch: Dortmund 2-1 Schalke
Watch: Bochum 0-2 Schalke
Fittingly, the 100th Revierderby of the Bundesliga era could have major ramifications at both ends of the table. Schalke moved off the bottom, on goal difference, for the first time since Matchday 10 with victory over relegation and local rivals Bochum last time out, while Dortmund are level on points with leaders Bayern Munich after 23 games.
Meetings between Schalke and Ruhr district rivals Dortmund are no ordinary derby. They mean more to the respective fan bases than any other fixture on the calendar, and are quite simply the be-all and end-all for anyone plying their trade in Germany's industrial heartland.