Borussia Dortmund's unbeaten start to the Bundesliga season ended in dramatic fashion as RB Leipzig came from behind to snatch a heart-stopping 3-2 away win.

Both sides had players sent off in the second half but Leipzig held their nerve to inflict a first defeat in eight matches on Peter Bosz's men.

The visitors were forced to do it the hard way after falling behind to Pierre-Emerick Aubameyang's early opener with Marcel Sabitzer and Yussuf Poulsen scoring to turn the contest on its head.

And Ralph Hasenhuttl's men looked on course for their fifth victory of the campaign when Sokratis Papastathopoulos was shown a straight red for conceding a penalty which Jean-Kevin Augustin converted.

Stefan Ilsanker also received his marching orders, though, and Aubameyang was able to reduce the deficit from the spot as he moved ahead of Robert Lewandowski in the scoring charts.

But, after recording their first ever Bundesliga victory in this fixture last season, it was Leipzig who were yet again celebrating another milestone moment.