Frankfurt, without a win in its previous six games, having lost five of them, struck against the run of play when Portuguese Andre Silva was brought down in the box and converted the 27th-minute penalty himself.
Wolfsburg twice went close to an equaliser before the break but got its deserved goal in the 58th through Kevin Mbabu’s glancing header from Maxi Arnold’s eighth assist of the season.
Frankfurt almost scored again in the 74th but Mijat Gacinovic’s point-blank effort was blocked by keeper Koen Casteels.
Japan international Kamada scored the winner from a Bas Dost layoff for his second goal in two games. Frankfurt substitute Lucas Torro was then sent off for two yellow cards within three minutes in stoppage time.
Frankfurt moved up to 12th place on 32 points, five points above the relegation playoff spot, while Wolfsburg stayed sixth on 42. Leader Bayern Munich, on 64, hosts Fortuna Duesseldorf later on Saturday. Second-placed Borussia Dortmund, on 57, travels to Paderborn on Sunday.
Former champion Werder Bremen kept alive its hopes of avoiding relegation from the Bundesliga when a spectacular goal from Leonardo Bittencourt gave it a lifeline 1-0 win at Schalke 04.
Bittencourt grabbed a potentially vital winner for Bremen in the 32nd minute when he unleashed a thunderbolt into the top corner from 25 metres. The loss leaves Schalke 10th on 37 points and extends its winless league run to 11 games.
Visit news.dtnext.in to explore our interactive epaper!
Download the DT Next app for more exciting features!
Click here for iOS
Click here for Android