England winger Sancho, whose grandmother passed away in mid-week, slotted the winner 15 minutes from time in Gelsenkirchen to seal Dortmund's first away derby win for five years and maintained their unbeaten start to 14 league games.

"The goal was for my grandmother," Sancho told reporters after netting his sixth goal of the season.

Thomas Delaney's seventh-minute header for Dortmund was cancelled out by a Daniel Caligiuri penalty just after the hour mark before Sancho struck following a beautiful one-two with Raphael Guerreiro.

"The second goal by Sancho was worked out incredibly well -- we do things like that in training," said Dortmund captain Marco Reus.

"We really deserved it, because we dominated the game for 90 minutes.

"We went off the boil in the second half, but showed the right mentality in the end."

Dortmund looked set to easily get their fifth straight league win when Delaney found space in the congested area early on to head home a floated Reus free-kick.

However Schalke drew level on 61 minutes when the video assistant referee judged that Reus had fouled Amine Harit in the area and Caligiuri banged home the resulting spot-kick.

Sancho made sure that Lucien Favre's side would when he hit the winner, racing through in the box after trading passes with Guerreiro and tapping home, before pointing to the heavens in celebration and disappearing under a pile of team-mates.

Bayern moved two places up into second above Borussia Moenchengladbach after an impressive 3-0 home win against Nuremberg, with Lewandowski scoring twice in the opening half-an-hour before Franck Ribery sealed the points 11 minutes into the second half.

Bayern will drop back to third if Borussia Moenchengladbach beat Stuttgart at home on Sunday.

Bayern rout Nuremburg

Robert Lewandowski bagged a pair of goals as Bayern eased past Nuremberg

Bayern put their October and November dip in form behind them with a third straight victory in all competitions as they crushed Nuremberg.

"We didn't let anything get through (our defence) over the 90 minutes and hit the woodwork twice," said coach Nico Kovac, whose position was under threat just two weeks ago.

"I am happy we have finally kept our opponent goalless," added Kovac, after his side's first clean sheet in the league since late September.

Lewandowski struck after eight minutes at the Allianz Arena, heading home a Joshua Kimmich corner with a deft flick.

The Poland goal ace then poached his second just before the half-hour mark by following up and tapping home after Leon Goretzka's long-range strike hit the crossbar.

Bayern maintained the pressure after the break and the Nuremberg defence was again torn open when Serge Gnabry's fierce shot was saved and Ribery reacted fastest to drill home the rebound on 56 minutes.

It was fourth heavy away defeat this season for struggling Nuremberg, who have already been thumped 7-0 at Dortmund, 6-0 at RB Leipzig and 5-2 at Schalke.

Hertha Berlin are up to sixth after Marko Grujic, on loan from Liverpool, scored his first Bundesliga goal in Saturday night's 1-0 home win over Eintracht Frankfurt, who suffered a second consecutive defeat after last weekend's shock 2-1 home defeat to Wolfsburg.

Fourth-placed RB Leipzig lost ground in the title race after crashing to a shock 3-0 defeat at Freiburg, a notoriously hard place to get an away result.

Germany striker Nils Petersen gave the hosts an early lead before Luca Waldschmidt converted a penalty just before the break. Captain Mike Frantz headed in their third to lift Freiburg to 12th.

Hoffenheim came from behind to seal a 2-2 draw at Wolfsburg thanks to Andrej Kramaric's late equaliser, while Bayer Leverkusen sealed a 1-0 win over Augsburg after Lucas Alario's goal.

Werder Bremen are eighth following Friday's 3-1 home win over bottom side Fortuna Dusseldorf, with 18-year-old USA midfielder Josh Sargent capping his debut with the hosts' third goal when he came on for the last 15 minutes.