Schalke snatch derby win over Dortmund
A lacklustre first half ended goalless but the match came to life when Borussia's Paraguayan forward Nelson Haedo Valdez was fouled by Ivan Rakitic and Turkish midfielder Nuri Sahin converted his penalty in the 47th minute.
Benedikt Hoewedes out-jumped two Dortmund defenders to head the equaliser in the 66th following a free-kick on the right.
Dortmund, missing leading scorer Lucas Barrios through suspension, could have scored again in the 81st minute after a Haedo Valdez breakaway but he dallied over his shot, allowing Rafinha time to recover and block the effort.
Two minutes later Schalke snatched victory when Croatia's Rakitic atoned for giving away the penalty by firing home from the edge of the area.
The win in the 135th Ruhr derby left Schalke with 48 points from 24 games, putting them nine ahead of fifth-placed Borussia whose chances of a Champions League place next season are now remote.