The convincing victory saw the hosts equal a club record of six consecutive home wins, a feat they last achieved a decade ago.

But they had to do it the hard way after falling behind to Karim Haggui's 13th-minute header.

Sokratis Papastathopoulos provided a prompt response, his first goal for the club, and Marco Reus completed the turnaround before Lewandowski took centre stage after the interval, netting an 18-minute treble.

He looked to have got himself a fourth but Pierre-Emerick Aubameyang's deflected effort had already crossed the line to seal an emphatic triumph for Dortmund, who will hope that Hoffenheim can pull off an upset when they welcome Bayern Munich on Saturday.

Jurgen Klopp made two changes from the side that were victorious against Schalke in the Ruhr derby, with Sokratis and Jakub Blaszczykowski replacing Neven Subotic and Aubameyang.

Georg Niedermeier, Martin Harnik and Ibrahima Traore lost their places in Stuttgart's starting XI following the 1-1 draw with Nuremberg last time out.

Moritz Leitner was called in to feature against his parent club, while there were also starting berths for 17-year-old Timo Werner and defender Gotoku Sakai.

The visitors stunned the home crowd when Haggui's header looped over Nuri Sahin on the line to put Stuttgart in front against the run of play early on.

Stuttgart's joy was short lived, however, as Sokratis connected well with a Sahin corner to power a header past Sven Ulreich after 18 minutes.

The goals continued to flow and the turnaround was complete for Klopp's men two minutes later as Reus made no mistake with his left-footed effort after evading the attentions of Haggui.

The hosts continued to dominate, Sahin going close with a header before Lewandowski cheekily attempted to chip Ulreich from the edge of the area.

Stuttgart were incensed three minutes before the break when Werner was denied a penalty despite appearing to be bundled over inside the area by Kevin Grosskreutz.

Lewandowski then showed his lethal touch after the break to score twice in as many minutes. First he latched onto a neat Reus backheel to angle his effort into the far corner before he was set clear a minute later by an expertly crafted Henrikh Mkhitaryan throughball.

The Poland international was at his clinical best, first holding off Sakai and then Haggui, to fire home.

He came close to registering a third nine minutes later but saw his fierce effort parried by Ulreich as Stuttgart struggled to find a route back into the match.

Lewandowski did claim the match ball after 72 minutes as Ulreich could only force Blaszczykowski's effort onto the post following a quick breakaway and the Pole was on hand for a simple close-range finish.

There was still time for Aubameyang to get his second goal in as many games eight minutes from time as Dortmund made it four wins in a row in all competitions.