Reus had just squandered a golden opportunity created by Henrikh Mkhitaryan, but the German international more than made up for the rare mistake when he shrugged off two defenders, eluded two more and fired inside the far corner.

Lewandowski decided the game with two goals in as many minutes. First Reus set him up with a back-heel in the 54th and then Mkhitaryan sent him though to score again.

'He wants to score goals, regardless when, regardless where,' said Juergen Klopp, who renewed his contract as Dortmund coach to 2018 on Wednesday.

300 not out: Goalkeeper Roman Weidenfeller of Dortmund made his 300th Bundesliga appearance in the 6-1 win over Stuttgart

Put your hands up in the air: After recently renewing his contract until 2018 Dortmund head coach Juergen Klopp says thanks to the fans at the Westfalenstadion

Making a point: Borussia Dortmund's supporters hold on a banner against fireworks and violence during the 6-1 defeat of Suttgart

Lewandowski claimed his ninth of the season on a rebound in the 72nd, when Sven Ulreich's save from Jakub Blaszczykowski came back off the crossbar, and the Poland striker set up Pierre-Emerick Aubameyang to wrap up the scoring in the 81st.

'I feel very well at the moment,' Lewandowski said.

Dortmund moved two points clear of Bayern Munich, who visit Hoffenheim on Saturday.

Head over heels: Pierre-Emerick Aubameyang didn't get a hat-trick but he won the prize for best celebration after his late goal.

The master and the apprentice: Pierre-Emerick Aubameyang wrapped up the win for Dortmund scoring a sixth goal late on

'It was a really great evening. It couldn't have gone better,' said Dortmund goalkeeper Roman Weidenfeller after his 300th Bundesliga game.

The visitors could have had a penalty before the break, when Timo Werner went down under pressure from Kevin Grosskreutz, but referee Florian Meyer seemed to change his mind after appearing to award the spot-kick.

It was Thomas Schneider's first defeat in eight games as Stuttgart coach.