Schalke came from 4-0 down to deny rivals Borussia Dortmund a much-needed victory as a dramatic Revierderby ended in a 4-4 draw.
Pierre-Emerick Aubameyang scored one and set up another as Dortmund raced into a four-goal lead inside 25 minutes, but his dismissal with 18 minutes left contributed to an epic collapse from Peter Bosz’s men, who have taken only two points from their last six league matches.
Dortmund’s 11th-minute opener was perhaps fortunate as Aubameyang saw his initial shot saved, but bundled it in regardless as he slid towards goal — and the video referee allowed it to stand despite suspicions of handball.
It was 2-0 seven minutes later when Benjamin Stambouli headed into his own net from Nuri Sahin's free-kick, and Aubameyang turned provider in the 20th minute, with a delicious cross headed in by Mario Gotze at the far post.
Raphael Guerrero made it 4-0 when a deflected ball looped up invitingly and he volleyed in to the far corner with Gonzalo Castro a spectator.
Schalke rallied in the second half as Dortmund's defensive frailties reared their head. Guido Burgstaller headed in just after the hour mark and four minutes later Amine Harit turned home Yevhen Konoplyanka's cross.
Worries for the hosts only grew in the 72nd minute when Aubameyang, booked in the 55th minute for a foul on Naldo, saw red after bringing down Harit.
And those worries proved justified as Daniel Caligiuri fired in Schalke's third with four minutes left before Naldo's header in the fourth minute of seven added on secured a point.