Borussia Dortmund's revival goes on to keep Stuttgart firmly rooted to the foot of the Bundesliga.
Borussia Dortmund made it three Bundesliga wins in a row for the first time this season with a 3-2 success at rock-bottom Stuttgart on Friday.
Jurgen Klopp's side have found life difficult so far this term and, prior to their recent run, had only registered four wins in 19 league matches, leaving them bottom of the table.
However, Dortmund have shown signs of turning things around of late and climb to 10th with their win in Stuttgart, ahead of the weekend's programme of fixtures.
Pierre-Emerick Aubameyang opened the scoring for the visitors after 25 minutes at the Mercedes-Benz Arena, but that lead was cancelled out when Florian Klein netted from the penalty spot seven minutes later.
Ilkay Gundogan restored Dortmund's advantage from close range after a clever lay-off from Shinji Kagawa, before Marco Reus pounced on a defensive error late on to apparently put the result beyond doubt.
Georg Niedermeier, who had won the penalty in the first half, pulled a goal back in stoppage time, exposing defensive gaps that Dortmund must plug ahead of Tuesday's trip to Juventus in the UEFA Champions League.
Klopp had his players training on a deliberately poor pitch ahead of the trip to Stuttgart, for whom Timo Werner became the youngest player to reach 50 Bundesliga appearances
However bizarre the approach, it looked to be paying off in the early stages - Kevin Kampl drawing a save from Sven Ulreich with a well-struck effort in the 11th minute.
Ulreich had to be on his guard again two minutes later when he dived to keep out a dangerous Gundogan header from a Marcel Schmelzer free-kick, before Aubameyang had a goal correctly ruled out for offside.
The Gabon international had good reason to celebrate in the 25th minute though, when Kagawa's heavy touch in controlling a Marco Reus pass fell perfectly into his path, allowing him to slot home the opener.
However, that lead did not last long, with Klein grabbing Stuttgart's first at home since October from the spot after Nuri Sahin was deemed to have brought down Niedermeier in the penalty area.
Having played a role in Aubameyang's opener, Kagawa was again central as he found Gundogan with a neat flick six minutes before the interval and the Germany midfielder prodded home a second for Dortmund.
Kagawa almost added his own name to the scoresheet in the 53rd minute, but shot straight at Ulreich from a tight angle, before Sahin tested the goalkeeper with a fizzing effort from 20 yards.
Reus raced onto Timo Baumgartl's woefully short backpass to put Dortmund into a two-goal lead, but Niedermeier converted a corner soon after to keep them sweating through stoppage time.
However, Stuttgart could not find an equaliser and remain rooted to the foot of the table, with players appearing to apologise to fans after the full-time whistle.