Stefan Kiessling scored twice as Bayer Leverkusen came from behind to pick up a point against Stuttgart.
Kiessling gave Leverkusen the lead after 13 minutes before Vedad Ibisevic converted a penalty to level the scores six minutes later.
Ibisevic fired his second in the 55th minute but Kiessling completed a brace of his own to make it 2-2 just before the hour mark.
Leverkusen climbed to sixth place while Stuttgart moved out of the relegation zone by earning their sixth point of the Bundesliga season.
Bayer were ahead in the 13th minute as Kiessling pounced on the loose ball when Stuttgart goalkeeper Sven Ulreich failed to keep hold of Karim Bellarabi's shot.
Stuttgart equalised from the spot just six minutes later as Ibisevic scored the hosts' first league goal at home this season, after Simon Rolfes had fouled Ibrahima Traore in the box.
Ulreich made a fine save in the 35th minute, fending off Gonzalo Castro's curling free-kick.
Leverkusen nearly replicated their opening goal in the 47th minute as Ulreich struggled to grasp another Bellarabi effort, but this time Raphael Holzhauser cleared the ball out of the lurking Kiessling's path.
Ibisevic struck again to give Stuttgart the lead in the 55th minute, the Bosnian converting Holzhauser's cross from the left wing.
And Leverkusen equalised just four minutes later through Kiessling's second goal of the day, the big forward putting away a header from Michal Kadlec's free-kick.