The home side dominated the game throughout but only took the lead in the late stages through the striker before Henrikh Mkhitaryan and Reus scpred to seal the win
Borussia Dortmund extended their Bundesliga winning streak to four games with a deserved 3-0 win over bitter rivals Schalke in the 146th Revierderby on Saturday.
A dominant first half at Signal Iduna Park saw Dortmund create a number of chances, but they could not find a way through.
The home faithful may have feared a frustrating stalemate, but Pierre-Emerick Aubameyang was on hand 12 minutes from time to pounce on a defensive error and slot home, before Henrikh Mkhitaryan converted Ilkay Gundogan's cross to make the result safe.
Having made a string of saves earlier in the match, 19-year-old goalkeeper Timon Wellenreuther's first taste of the Ruhr clash was soured as his dawdling in possession gifted Marco Reus Dortmund's third.
The result sees Dortmund's recent recovery continue, while dealing a blow to Schalke's Champions League qualification ambitions, with Roberto Di Matteo's men having mustered just one win in their last five Bundesliga outings.
Di Matteo spoke of his excitement at experiencing his first Revierderby as Schalke boss in the build-up to this contest, but his side struggled to get going early on.
The hosts should have taken the lead after just three minutes but Wellenreuther stood firm after Shinji Kagawa released Aubameyang, while Nastastic was on hand to save the teenager when the Japan international lobbed goalwards.
Reus saw a stinging low drive tipped just wide of the post by a full-stretch Wellenreuther as Dortmund's pressure intensified, with Roman Neustadter on hand to head a crashing 25-yard strike from the winger onto the crossbar, before Aubameyang poked wide following the resulting goalmouth scramble.
Chances continued to flow, but Dortmund still could not find breakthrough, with Reus again lashing wide just before half time.
The second half continued in much the same vein, with Reus firing wide yet again before forcing another fine save from Wellenreuther eight minutes later after latching on to Nuri Sahin's defence-splitting pass.
Wellenreuther was called up again on 67 minutes to deny Mkhitaryan angled drive, but he could do nothing to prevent Dortmund finally getting the breakthrough 12 minutes later.
A free-kick was not cleared fully, allowing Mkhitaryan to pounce and tee up Aubameyang to slot home from close range.
That goal opened the floodgates, with Mkhitaryan getting himself on the scoresheet on the end of Gundogan's superb cross from the right.
Wellenreuther's rick presented Reus with the goal his effervescent display deserved, giving Dortmund fans full bragging rights, and their team a place in the top half of the table.