In what was arguably the match of week six at the BayArena, Borussia Dortmund overturned a two-goal deficit to stifle the Bayer Leverkusen revival. In a game that should have been out of sight for the home team, Lucien Favre's men scored four second half goals to climb to top spot in the Bundesliga.

The teams

Having overcome their sticky start with two wins on the bounce, Leverkusen and coach Heiko Herrlich were in a far better place before their home meeting with Dortmund. The Werkself coach made three changes, with Mitchell Weiser, Julian Brandt and Lucas Alario coming in for Tin Jedvaj, Leon Bailey and Isaac Kiese Thelin.

Keen to stick with the players that had trounced Nürnberg 7:0 in midweek, BVB coach Favre only made change with Marcel Schmelzer rested and previously suspended Abdou Diallo brought back into the staring lineup.

Leverkusen on top

Expecting to start in the same vein as they had done against Nürnberg, Dortmund were surprisingly sluggish at the start. Favre's men were comprehensively outplayed by a confident and stylish Leverkusen side, and when the first goal arrived it was no great surprise. After 19 minutes, Lars Bender, Kai Havertz and Alario combined beautifully to set up Weiser for the opener.

Bayer Leverkusen's Mitchell Weiser celebrates his side's opening goal against Dortmund at the BayArena

While the visitors struggled to get any sort of foothold, Herrlich's side continued to press, and were rewarded six minutes before half time. When the Dortmund defence failed to clear their lines, the ball fell to fullback Jonathan Tah, who effortlessly found the back of the net to give Bayer a deserved 2:0 lead.

When the first half came to an end, the match looked over already. Leverkusen were clearly on the up, and there was no sign of the dominant Dortmund that had destroyed Nürnberg earlier in the week.

The turnaround

When the two teams came out at the start of the second half, nothing seemed to have changed. Dortmund started to take more risks, but Leverkusen looked set to finish their opponents off.

There were some opportunities for the visitors, but the home side should really have put the contest beyond all doubt. They broke quickly, and created some excellent chances. Brandt forced BVB 'keeper Roman Bürki into a making a strong save (50.), and the Swiss international also denied Havertz (57.) Between these two moments, Alario struck the post (54.)

That was the cue for Dortmund. The coach made a number of inspired changes, and things finally clicked for the men in yellow and black. Dane Jacob Bruun Larsen beat sub Paco Alcacer to the ball to finish from close range in the 65th minute, and just four minutes later, Favre's men were level. After some fantastic interplay between Reus and sub Jadon Sancho, the German international hammered the ball past Lukáš Hrádecký and into the roof of the Leverkusen net.

In the space of four dramatic minutes, Dortmund were level.

The final flourish

Knowing that they should have won the game long before, Leverkusen were out on their feet. They had nothing left in the tank, and there was a sense of inevitability when Paco Alcacer put Dortmund in front with just five minutes remaining.

The tables had turned, and now it was Leverkusen chasing the game. Four minutes into injury time, they had their final chance from a corner. Hrádecký initially looked to advance towards the edge of the Dortmund box, but bizarrely chose to wait on the halfway line instead. When the corner was cleared and the visitors broke, the Finnish international was nowhere to be seen. The effervescent Sancho burst up the field, and Alcacer finished it off to complete a dramatic winning brace.

Spaniard Pablo Alcacer celebrates his second goal, as Dortmund run out 4:2 winners

What FC Bayern München couldn't do, Borussia Dortmund could. Bayern had been two goals down at half-time against Hertha Berlin. They had not come back from such a deficit in three decades. Just the day after, Dortmund did just that. In doing so, they climbed to the top of the league, pushing the Bavarians into second place.

Result: Bayer 04 Leverkusen 2 (Weiser 9., Tah 39.) Borussia Dortmund 4 (Bruun Larsen 65., Reus 69., Paco Alcacer 85., 90.+4.)