Bayer Leverkusen's dreams of a Bundesliga season unbeaten are still in tact after a dramatic 2-2 draw at home to VfB Stuttgart.

The visitors raced into a two-goal lead at the BayArena early in the second half.

Clinical finishes from Chris Führich and Deniz Undav had Stuttgart two goals to the good by the hour mark.

Amine Adli soon got the champions back into the game with an excellent strike from the edge of the box.

And just when it looked as though they would finally taste defeat, a 97th minute goal from Robert Andrich means Xabi Alonso's side remain unbeaten.

Ahead of the match, the objectives for both sides were clear.

For Leverkusen, it was to avoid defeat as the champions continued their pursuit of an unprecedented invincible treble.

As for Stuttgart, a win would all-but confirm their place in next season's UEFA Champions League group stages after Borussia Dortmund fell to a heavy 4-1 defeat at RB Leipzig earlier in the day.

That result saw Sebastian Hoeness' side come into this game six points inside the Bundesliga top four.

Story of the Match

Xabi Alonso made four changes to his 11 that drew 1-1 at Dortmund last week.

Odilon Kossounou replaced Piero Hincapie in the backline, while the suspended Granit Xhaka made way for Exequiel Palacios.

Meanwhile, Amine Adli replaced Nathan Tella on the left wing and Patrik Schick came in for Josip Stanisic.

Jeremie Frimpong returned to his usual right wing-back post, with Jonas Hofmann relinquishing his centre-forward role for his preferred right wing position.

There was only one change for Stuttgart. Chris Führich came in for Angelo Stiller as Die Schwaben aimed to respond to defeat at Werder Bremen.

Possession was fairly evenly shared by the sides throughout the first half, although the hosts did more with it.

However, the game's first major chance fell to the visitors.

Leonidas Stergiou's cross from the right was headed just wide of the post by Stuttgart's top scorer Serhou Guirassy with almost 15 minutes played.

As they have been all season, Die Werkself were direct and dangerous.

Just before the half hour mark, a great ball in behind by Robert Andrich sent Alejandro Grimaldo through on goal.

His shot was parried by Alexander Nübel with the rebound falling for Patrik Schick.

The Czech Republic international sent the ball over the bar, squandering the champions' biggest chance of the game to that point.

A tense first 45 minutes was brought to a close after Andrich couldn't find the top corner from a promising free-kick.

Second half

Stuttgart made the perfect start to the second half.

Just a minute in, a terrific long ball from Waldemar Anton released Jamie Leweling in behind.

Grimaldo couldn't intervene and though Lukas Hradecky's save saw Leweling's effort strike the post, Führich was on hand to finish with his first touch.

This was the Germany international's eighth of the campaign.

Just over 10 minutes later, Hoeness' men had a second.

Hradecky's goal kick was intercepted by Anton, before Enzo Millot looked to find Deniz Undav.

Andrich fell to the ground, allowing Undav to guide the ball into the bottom left corner.

This was the first time this season that any team had got into a two-goal lead against Leverkusen.

Die Werkself had kept their unbeaten season alive with late goals on so many occasions before this game. They would need to come from two goals behind to do so today.

Moments later, Guirassy put a big chance wide after being found by Leweling.

He would be made to rue that miss on the hour mark, as Alonso's side halved the deficit.

After some tenacious work from substitute Piero Hincapie, Grimaldo set up Amine Adli on the edge of the box.

The Morocco international drilled the ball into the far bottom left corner to get his side back into the game.

'Winnerkusen' fight to stay unbeaten

Stuttgart 'keeper Nübel was called into action almost immediately after that Adli goal.

An incredible double save saw the German deny Adli this time around before keeping out Hofmann's rebound attempt.

The treble chasers had really ramped up the pressure.

Alex Grimaldo came close minutes later when he sent a free-kick just over the crossbar.

But at the other end, the visitors almost added a third themselves.

Guirassy couldn't convert from close range before Führich bent an effort just wide of the post after cutting in from the left.

Leverkusen thought they had done it again with 14 minutes to play.

Kossounou found the back of the net following a set-piece, only for the linesman to flag Edmond Tapsoba offside in the build-up.

Guirassy had another chance late on to kill the game but Hradecky was there again to keep the hosts' hopes alive.

Time was running out for Die Werkself but they would win one last set-piece. 

A scramble in the box eventually resulted in Andrich stabbing the ball home.

The German made amends for his earlier error and Leverkusen remain unbeaten with three games to play.

Player of the Match

Stuttgart captain Waldemar Anton (Photo by Lars Baron/Getty Images)
Stuttgart captain Waldemar Anton (Photo by Lars Baron/Getty Images)

Stuttgart had to weather quite the storm throughout the match at times.

Waldemar Anton was key in doing that. The defender's long-range passing was also a weapon for the visitors in their quick transitions.

The inevitable 'Winnerkusen' somehow found a way again, but the efforts of Anton, Nübel and the rest of the Stuttgart defence should not go unnoticed.

They are now seven points inside the top four with three left to play.