Werder Bremen and Stuttgart played out a thrilling draw at the Weser Stadion as both sides ended the game with 10 men.
Kevin de Bruyne and Zlatko Junuzovic established a two-goal advantage for the home team before half time, but Stuttgart never gave up and recovered with goals from Martin Harnik and Cacau.
Harnik was then shown a second yellow card, and was soon followed down the tunnel by Assani Lukimya after he was given a red card late on.
Bremen were under the cosh from the first whistle, but they broke decisively to open the scoring in the 23rd minute, De Bruyne exchanging neat passes with Nils Petersen before arcing a shot inside Sven Ulreich's near post.
Stuttgart continued to be the dominant side, despite falling behind, and they could have levelled in the 33rd minute when Shinji Okazaki's header only found the side-netting from Christian Gentner's cross.
From the goal kick, Bremen launched a quick attack which culminated in Petersen getting to the goal line and pulling the ball back for Junuzovic to slot in his first Bremen goal from six yards out.
The half-time scoreline was harsh on Stuttgart, but they made amends in the second half thanks to the introduction of Ibrahima Traore at the break.
It was his cross which was met by an unmarked Harnik to head Stuttgart back into the game in the 50th minute, with the aid of the right-hand post.
Stuttgart continued to launch assault after assault until they were rewarded with an equaliser in the 81st minute.
Substitute Georg Niedermeier picked up Traore's left-wing corner and his shot was diverted intelligently by Cacau into the back of the net from close range.
Harnik spoilt his evening when he was shown a yellow card with three minutes remaining.
And he was soon joined in the dressing rooms by Bremen's Lukimya, who was given his marching orders just a minute after coming onto the field for a dangerous tackle.