BVB Dortmund held on to their lead to claim a hard-fought victory in the Ruhr derby with a 3-2 win over Schalke 04 at Signal-Iduna Park on Sunday.
BVB Dortmund 3 Schalke 04 2
Kagawa opens the scoring for BVB
Huntelaar scores a brace for Schalke
Ginter and Aubameyang strike either side of halftime
After a relatively slow start the game burst into life on the half-hour mark when Matthias Ginter's cross found Shinji Kagawa to head in the opener.
Three minutes later and the scores were level again, with Matts Hummels at fault for giving the ball away and Leroy Sane taking full advantage to get in behind the BVB defence and set up Klaas-Jan Huntelaar for a simple tap in.
BVB Dortmund took the lead again just before halftime, with Ginter meeting Henrikh Mkhitaryan's corner at the near post to give his team a 2-1 advantage at halftime, and they extended that soon after the break with Aubameyang bagging his 14th goal of the season with a cool finish.
Schalke 04 pulled one back with Huntelaar bagging his second of the match after cleveley chipping the goalkeeper and although the visitors pushed hard for an equaliser towards the end of an increasingly fiery encounter, BVB were able to hold on for the win.
BVB Dortmund had momentum right from the beginning, winning a corner as early as third minute, and had the lion's share of possession in the opening 10 minutes without creating a clear-cut effort on goal.
The match sparked to life around the 20-minute mark when Fahrmann's heavy touch almost presented an opportunity for Aubameyang to pounce on, but the keeper was able to clear the danger before Sane got forward down the other end to meet a cross, but his effort was just wide of the post.
It was BVB Dortmund who broke the deadlock on the half-hour mark through Shinji Kagawa, with Matthias Ginter getting the assist after linking up with Gonzalo Castro and firing in a cross for the Japan international to head home.
BVB's lead was short lived though, as Huntelaar struck back for the visitors. It was one of the easiest goals the Netherlands international has scored, with Sane stealing the ball off Hummels and setting up the 32-year-old for a tap in.
At this stage the goals were flowing and BVB Dortmund were back ahead soon enough. Ginter was involved again, this time coming up from defence for a Mkhitaryan corner and getting his head to it at the near post to send his team into the break with a 2-1 advantage.
Having claimed a halftime lead, BVB Dortmund were quick to get going again after the break and soon had another goal to their name, this one coming courtesy of the free-scoring Aubameyang, who latched on Castro's pass and finished with aplomb.
Following that second-half goal BVB pressed forward looking to put the game to bed, with Gundogan helping himself to a couple of shots from long range before Mkhitaryan missed a chance to add to the tally from Aubameyang's cross.
Schalke 04 and Huntelaar pulled one back in the 71st minute, with Goretzka breaking forward this time and whipping in a cross towards the Dutch hitman, who had the presence of mind to loop it over Burki for his second of the match, setting up a tense finale.
Schalke 04 had further chances to find an equaliser in the final minutes of the match, with Hojbjerg testing Roman Burki and Marcel Schmelzer picking up a yellow card for a professional foul on Huntelaar, but BVB Dortmund managed to hold out hand claim the local bragging rights with a 3-2 win.