The German league title holders regained their position at the top of the Bundesliga table as they earned a convincing win over their local rivals in front of their own supporters
The hosts were the most aggressive side right from the beginning, and were rewarded for their efforts as Robert Lewandowski nodded in the opener. Schalke managed to weather the storm and avoid conceding before half-time, but Felipe Santana put the game out of reach on 61 minutes.
It took just 16 minutes for Dortmund to take the lead, which came as Lewandowski headed in an exquisite free kick from Marcel Schmelzer. The opener was a long time coming as the left-back had narrowly missed from a free kick on two minutes, and the unmarked Jakub Blaszczykowski fired over the bar shortly thereafter.
BVB nearly got a second on the half hour mark as Mario Gotze took a cross off his chest and took advantage of a mis-kick by Kyriakos Papadopoulos as he shot on goal. Lars Unnerstall did exceptionally well to take the sting off the effort, and Joel Matip bravely cleared off the line.
Schalke looked better in the opening minutes of the second half, but Lewis Holtby missed a good chance before the visitors conceded once again. Mats Hummels nodded the ball into Lucas Barrios' path, and the Paraguayan, who had made his first start of the season, had his shot saved before Santana slotted home.
The visitors were deflated after conceding for a second time, and the more dangerous side were BVB. Lewandowski had a stinging effort from distance parried before Barrios was denied by a stunning save. The Polish goal-scorer nearly had his brace at the death, but Unnerstall again made a phenomenal stop. Schalke's only noteworthy chance late was a rocket from Papadopoulos, but Roman Weidenfeller punched clear.
The result sees BVB surpass Borussia Monchengladbach on goal difference, with 29 points from 14 matches. Bayern Munich remain just a single point behind, with a game in hand. Schalke, meanwhile, are fourth, with 25 points.