Dortmund trounces sorry Stuttgart
Dortmund started strongly only to go behind in the 13th minute when Karim Haggui scored with a header from the visitors' only corner.
But Sokratis equalized six minutes later in similar fashion, three minutes before Marco Reus made it 2-1 with a fine solo effort.
Reus had just squandered a golden opportunity created by Henrikh Mkhitaryan, but the Germany midfielder 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.
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, which visits Hoffenheim on Saturday.
''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.
''We should have equalized then but afterward I think we kind of invited the goals at the back,'' Werner said. ''We don't know ourselves (what happened).''
It was Thomas Schneider's first defeat in eight games as Stuttgart coach.
''You need a good day to beat Dortmund and we didn't have that today,'' Schneider said.