Goals from Marco Reus and Robert Lewandowski secured the win for Jurgen Klopp's men as they moved three points ahead of Schalke in second place
Marco Reus completed the comeback after 78 minutes with his 13th goal of the season - and fifth in three games - after Robert Lewandowski had cancelled out Ivica Olic's opener.
Dortmund's victory lifted them three points clear of Schalke in the race for second, with the latter having been held to a 1-1 draw at Werder Bremen earlier on Saturday.
The result also provided a boost for Jurgen Klopp's side, who are 20 points behind Bundesliga champions Bayern, after their 3-0 defeat to Real Madrid in midweek, which has left them facing likely elimination from the Champions League ahead of Tuesday's second-leg.
Klopp made several changes to the side that was comprehensively beaten by Madrid, with Mitchell Langerak replacing Roman Weidenfeller between the posts in one of the alterations.
The away side started brightest and Sokratis Papastathopoulos had to be alert to close down Kevin De Bruyne after the former Chelsea man had found a way into the Dortmund box.
Reus had scored each of Dortmund's last four goals in the Bundesliga before the fixture and almost grabbed another after eight minutes, but his shot from the left was saved.
Wolfsburg's Olic then missed a chance to open the scoring from close range when he got on the end of Robin Knoche's cross from the right, while Reus tested Max Grun again following a nicely weighted throughball from Lewandowski.
Langerak had to react quickly to punch over from a Max Arnold cross after 24 minutes, with the effort taking a wicked deflection which nearly looped over the goalkeeper's head.
Olic then showed great attacking instinct to pounce on a loose ball in the six-yard box after 33 minutes to give the visitors the lead.
Reus continued to carry the main threat for Dortmund, first sending a fizzing shot just wide and minutes later rounding the Wolfsburg goalkeeper but eventually being crowded out.
Olic incredibly struck the crossbar twice just before the break as he slid in to reach a cross from De Bruyne. The forward's initial attempt came back off the woodwork before the ball rebounded off his left foot to hit the bar again.
Klopp opted to make two half-time changes with Erik Durm and Milos Jojic replacing Nuri Sahin and Pierre-Emerick Aubameyang respectively.
The changes paid dividends as the hosts found an equaliser five minutes after the restart when Lewandowski bravely got on the end of Reus' corner from the left to score with a somewhat unorthodox header.
The Polish striker came to life after the goal and his lay-off provided Reus with a chance that he was unable to take.
However, Reus then grabbed the winner, tapping in after a mix-up between Wolfsburg keeper Grun and his defenders.
The visitors could not find a way back, giving Dortmund a psychological advantage ahead of the DFB-Pokal semi-final between the two sides later this month.