Borussia Dortmund stunned champions and arch-rivals Bayern Munich 1-0 on Saturday in a bad-tempered clash in "Der Klassiker" to leave RB Leipzig the shock Bundesliga leaders.
Pierre-Emerick Aubameyang prodded in on 11 minutes at a frenzied Signal Iduna Park to propel Dortmund up to third on 21 points, three points behind Bayern, for whom this was a first defeat of the league season.
RB Leipzig are top, unbeaten and three points clear of the mighty Bayern, after a thrilling 3-2 win at Bayer Leverkusen on Friday signalled another milestone in their fast rise to the top of German football.
Aubameyang scored the only goal of the game -- he should have gone on to grab at least two more -- poking in the ball from close range after ex-Bayern man Mario Goetze's cross.
The striker celebrated with three push-ups and the home side were on the attack again moments later, the Bayern rearguard creaking as the fans at the intimidating 81,000 arena ratcheted up the volume once more.
The game had simmered to this point, but it threatened to boil over as the half wore on, with Dortmund conceding a series of free-kicks and referee Tobias Stieler struggling to keep a lid on it.
Stieler had a word with Thomas Tuchel after the Dortmund coach protested one challenge and Marc Bartra was booked for a bad challenge on Bayern's Thomas Mueller.
Soon after Bartra was penalised again for tugging down Robert Lewandowski and was fortunate that Stieler decided to keep his cards in his pocket.
The momentum was now with Carlo Ancelotti's men and Bayern piled on the pressure, Thiago Alcantara just failing to properly connect with a flying scissor kick five minutes before half-time.
Aubameyang should have put the home side 2-0 up soon after the restart, but he headed feebly over, and then Goetze got away with only a yellow card for a nasty challenge on Franck Ribery that left the Frenchman in agony on the turf.
The visitors were a whisker from equalising around the hour mark when Xabi Alonso let fly from distance, the ball crashing off the crossbar.
On 71 minutes Aubameyang should have sealed the game for Dortmund, but he shot straight at Manuel Neuer after a Bayern lapse at the back.
Ribery was in the thick of it again in the dying minutes and was booked when the two sides clashed once more, the referee's assistants running onto the pitch to help restore order.
Polish predator Lewandowski should have levelled the score at the death but he inexplicably headed wide when clear and unmarked.