Borussia Dortmund have come from two goals down to beat 10-man Stuttgart 3-2 courtesy of a Marco Reus hat-trick on Saturday afternoon.
The home side started very brightly and could have gone ahead inside five minutes, but Christian Gentner's clever back-heel from a corner was directed straight at Roman Weidenfeller.
However, just four minutes later he did have his goal. It was a defensive error from Oliver Kirch, who passed straight to the Stuttgart man for him to fire in low for 1-0.
Before 20 minutes were up the hosts made it 2-0. There was more slack defending, this time from Erik Durm, to allow Ibrahima Traore to cut back for Martin Harnik to tap in.
Right on the half-hour mark Dortmund got themselves back in the game through Reus, who found space to latch onto Jonas Hofmann's pass and clip into the far corner.
In the second half Dortmund came out strongly and could have levelled it on 55 minutes, but Robert Lewandowski struck a powerful effort against the woodwork.
However, they did not have to wait too much longer. Georg Niedermeier brought down Lewandowski when the Pole was through on goal and got himself sent off, with Reus calmly converting from the spot for 2-2.
A man up and level, there was to be a late winner for Dortmund. It was Reus with his hat-trick, but his strike took a wicket deflection on its way past Sven Ulreich.