(CNN) -- Ivan Rakitic scored a superb late winner as Schalke stayed firmly in the Bundesliga title race with a 2-1 win over local rivals Borussia Dortmund on Friday night.
The Croatian curled home his shot in the 83rd minute to settle the 135th Revier derby after his side had trailed to a Nuri Sahin penalty two minutes after the interval.
Benedikt Howedes equalized just after the hour mark for Felix Magath's men to leave them one point behind Bayer Leverkusen and Bayern Munich, who play later this weekend.
The Royal Blues were good value for their victory and could have been ahead after just three minutes as Kevin Kuranyi headed over the bar from Rakitic's cross.
Bordon has a header from another Rakitic cross cleared off the line by Mohammed Zidan, but Sahin also went close before halftime for the visitors.
He put them ahead on 47 minutes with Rakitic pulling down Nelson Valdez to concede the penalty and Sahin made no mistake.
Schalke, beaten in the previous round by Magath's former side and reigning champions Wolfsburg, were facing a second straight defeat but a Lukas Schmitz free-kick from the right found Howedes who headed home.
Jefferson Farfan and Kuranyi came close to a breakthrough before the 83rd minute winner.
Edu Goncalves won the ball and backheeled it to Rakitic, who atoned for his penalty area with a brilliant finish into the far corner.