Goals from Grafite in the fourth minute and Marcel Schafer in the 28th were equalised by Ioannis Amanatidis' penalty (22) and Markus Weissenberger (62) respectively.
But Edin Dzeko finished off the game with his goal 11 minutes from time.
The visitors' first victory in five matches gives them 48 points - just three behind both Hamburg and Stuttgart in fourth and fifth places.
Wolfsburg went ahead after just four minutes as Grafite headed home Marcelinho's cross.
The hosts evened things up from the penalty spot after Jan Simunek felled Frankfurt striker Evangelos Mantzios in the area. Amanatidis stepped up and hammered home the equaliser.
Wolfsburg regained the lead just six minutes later through Schafer.
The visitors passed the ball around the area and the ball reached Schafer, who blasted home from the left side of the area into the far right corner.
Wolfsburg keeper Diego Benaglio did well to stop Mantzios' header from six yards in the 48th minute.
But Frankfurt equalised again two minutes past the hour mark. Amanatidis played the ball past Benaglio on the counter-attack and Weissenberger ran onto the ball to slot home with his left foot for his first goal of the season.
Wolfsburg grabbed the third and decisive lead of the game in the 79th minute. Jacek Krzynowek rushed through the left side of the Frankfurt defence and crossed into the box where Dzeko dove and directed home the low pass.