Goals from Pierre-Emerick Aubameyang, Mario Götze and Raphaël Guerreiro - combined with an own goal from Benjamin Stambouli - had put Dortmund well in control by the 25th minute at Signal Iduna Park.
But two goals in the space of four minutes from Guido Burgstaller and Amine Harit hauled Schalke back into proceedings after the break, before Aubameyang was shown a second yellow card.
And Schalke's numerical advantage eventually proved too much as Daniel Caligiuri cut the deficit to one and Naldo headed home an equaliser in stoppage time to condemn Dortmund to a sixth successive league game without a win.
With tensions high, both sides clashed after the final whistle, with Dortmund left wondering how they had only claimed a point.
Dortmund midfielder Nuri Şahin was visibly shaken as he tried to make sense of the result.
Speaking to bundesliga.com, the Turkish midfielder said:
I'm at a loss for words over the second half we played, or rather didn't play at all if I'm honest.
I don't think I've ever experienced a game that ended in a draw after having been in the lead by four goals.