Schalke beat Dortmund 2-0 in Sunday's Revierderby to move four points clear of their challengers for second place in the Bundesliga table.
Dortmund arrived at the Arena AufSchalke knowing a victory would take them above their opponents but they were outplayed by Schalke as second-half goals from Yevhen Konoplyanka and Naldo handed Domenico Tedesco's men all three points.
In a first half that ebbed and flowed, the hosts had the game's first clear-cut chance after five minutes when Alessandro Schopf's fierce strike from 25 yards was tipped wide of the post by the fingertips of Roman Burki.
Schalke continued to attack and they created a good opportunity in the 13th minute when Leon Goretzka neatly flicked the ball into the path of Guido Burgstaller, who dragged his shot wide from the right side of the box.
Marco Reus' dipping free-kick forced a smart save from home goalkeeper Ralf Fahrmann in the 24th minute before Schalke almost broke the deadlock on the brink of half-time when Konoplyanka's shot from just inside the area went inches wide.
Konoplyanka eventually put Schalke in front five minutes after the break, charging into the box before lashing the ball beyond Burki.
Reus was Dortmund's main threat in the second half and had a low shot saved by Fahrmann before his dangerous cross was turned wide by team-mate Christian Pulisic.
The hosts made sure of the points eight minutes before the end when Naldo rifled a 30-yard free-kick into the back of the net.
The defeat sees Dortmund slip to fourth place, with Bayer Leverkusen moving ahead of them on goal difference.