The Westfalenstadion was the scene for the final Revierderby of the 2014/15 Bundesliga season and it didn't disappoint. From the first whistle Borussia Dortmund were creating, and missing, chances in abundance. Schalke couldn't cope with their pressing and were more than thankful when the half-time whistle blew.

Things followed a similar pattern in the second-half, as Dortmund continued to waste chances. The Schalke defence and Timon Wellenreuther were doing remarkably well to repel their opposition, but when Pierre-Emerick Aubameyang struck in the 78th minute, the floodgates opened. Henrikh Mkhitaryan added a second just one minute later, before Marco Reus robbed Wellenreuther for a third.

Following their 2-1 defeat to Juventus on Tuesday evening, Jürgen Klopp and his side were keen to get back to winning ways. Three Bundesliga wins in a row had brought them off the bottom and within ten points of a Champions League place. However, Lukas Piszczek and Sokratis both picked up injuries during the loss and had to be replaced by Oliver Kirch and Neven Subotic. Shinji Kagawa also returned to the starting line-up, in place of Ciro Immobile.

Schalke and Roberto di Matteo had been afforded a slightly longer break before the derby, though they were denied a win against Werder Bremen by Sebastian Prödl's ninety-second minute equaliser. One big boost was Klaas-Jan Huntelaar's return from suspension, as he took youngster Felix Platte's place. Tranquillo Barnetta, Max Meyer and Joel Matip also dropped out of the starting side, with Atsuto Uchida, Dennis Aogo and Kevin-Prince Boateng earning starting berths.

It was Timon Wellenreuther, who had come under criticism in the last few weeks, that pulled off a crucial early save to spare his side's blushes. Pierre-Emerick Aubameyang darted past Schalke's defence after a lovely through ball by Kagawa, only to see his one-on-one chance brilliantly stopped by the onrushing goalkeeper.

The Royal Blues responded with a chance of their own; finally breaking past the relentless Dortmund pressing game. A long-ball forward found Huntelaar and his header fell to Baoteng, though the former-BVB midfielder's volley flashed comfortably wide of Roman Weidenfeller's post.

Aubameyang's pace was giving the visiting defence a real headache and when Wellenreuther slipped on the edge of the area, it required a last ditch block from Roman Neustädter to prevent the Gabonese international having a free shot on goal.

Dortmund were dominating proceedings and Kagawa and Marco Reus were next to try their luck; both attacking midfielders saw their attempted volleys drift just wide of the net in what was the perfect start for Klopp's men, they were only missing that elusive opening goal.

The bombardment was unrelenting. Aubameyang had his tap-in, toward an open goal, blocked by Matija Nastasic and Reus saw his powerful drive tipped round the post by Wellenreuther. BVB had launched ten attempts towards the Schalke goal by this stage, who had only mustered one in return.

Neustädter was forced into another desperate intervention, this time denying Reus. Wellenreuther punch landed straight at the winger's feet and he slammed a volley towards goal. Somehow, the Schalke centre back managed to head the ball onto the bar; a fantastic piece of defending.

Schalke were showing no signs of going forward in the second-half either, as Dortmund continue to press forward in search of an opener. Wellenreuther denied Reus once more, with the hosts scratching their heads as to how they hadn't found it yet.

The game was beginning to slow down and BVB weren't cutting through with the ease they had shown in the first-half. The visitors did have captain Benedikt Höwedes to thank, producing a fine block to prevent Ilkay Gündogan from getting his shot off.

Wellenreuther, despite a few shaky moments, was in fine form and he halted Henrikh Mkhitaryan twice; the dry spell continued for the Armenian, but it did look like his confidence was starting to return.

Marco Höger's volley was deflected wide of the post which was the closest they'd come to testing Weidenfeller, who was merely a spectator for the vast majority of the match.

Reus tested Wellenreuther yet again, this time from a free-kick, yet the young Schalke stopper was proving his worth and managed to repel the danger.

The moment that all the Dortmund fans had been waiting for finally came in the 78th minute, when Aubameyang opened the scoring. A long ball forward wasn't deal with by the Schalke defence and it fell kindly for the Gabonese striker, who prodded the ball past Wellenreuther at last. It was his tenth goal of the season and he celebrated in style; he pulled on a Batman mask, while partner in crime Reus was Robin.

It didn't end there, as moments later the roof was blown off the Westfalenstadion. Henrikh Mkhitaryan eventually broke his duck and managed to poke home Güdogan's inch-perfect cross, sending the ground into rapture; the relief was there for all to see.

Schalke were looking shell-shocked and the turmoil wasn't over yet. A back pass stuck underneath Wellenreuther feet and by the time he'd sorted them out, Marco Reus had slide tackled the ball into the net for one of the easiest goals he'll ever score. His seventh of the season and Dortmund's third of the game, the old BVB was back.

The win brings Klopp's charges into ninth, just seven points behind their Ruhr rivals. Dortmund travel to Dynamo Dresden in the DFB Pokal on Wednesday, as their busy schedule continues; though it'll feel a little less strenuous after their derby win.

Schalke drop to fifth and this derby defeat will have devastated fans and players alike. The Royal Blues, who were dumped out of the cup by Dresden, welcome Hoffenheim to the Veltins-Arena next weekend.