Both sides started brightly and inside the opening 10 minutes Andre Shurrle for the visitors and Julian Draxler for Schalke had given both goalkeepers an early test.
The teams were struggling to hit the target after the frantic opening but eventually the visitors took the lead when Simon Rolfes headed in a Lars Bender corner.
Less than 15 minutes into the second half the visitors doubled their lead when Michal Kadlec's free kick evaded everyone and found the bottom corner.
With 20 minutes left Schalke could have been forgiven for thinking it was over but Teemu Pukki slammed in from close range to make it 2-1.
Then with five minutes to play Schalke's effort paid off. Pukki was fouled in the box by Omer Toprak and the defender was shown a red card.
From the spot Raffael found the bottom corner and with it an unlikely point for Schalke.