Karl Henry struck the bar with a long-range effort in a cagey first half before the game burst into life thanks to Dorian Dervite’s opener.
Kevin Doyle equalised for the visitors just three minutes later with his 11th goal of the campaign but Dean Saunders’ men were unable to hold on to a crucial point with Obika having the final say.
No Championship team had taken more points from their last eight matches than the two sides ahead of the game meaning neither manager felt the need to make changes to their starting line-ups.
The hosts were presented with the first clear-cut opportunity of the afternoon in the 10th minute after good work from Callum Harriott but Ricardo Fuller saw his drilled effort on the turn parried away by Dorus De Vries.
The away side emerged for the second half with added purpose and had an early sight of goal when Stephen Hunt fired a cross-shot wide of the left-hand post.
Danny Green made an immediate impact as a substitute when his rasping drive was deflected wide.
From Green’s subsequent corner, Wolves failed to clear and Dervite got the decisive touch on a goalline scramble to poke home the opener.
The hosts’ advantage did not last long however as Doyle flicked in Jack Robinson’s left-hand cross to set up a breathless final quarter of the game.
With the encounter perfectly poised, the visitors needed an important save from De Vries to keep the scores level as Yann Kermorgant saw his effort from an acute angle tipped over the bar.
The home side were not to be denied as Green’s deflected shot feel to Obika who struck in the 90th minute to leave Saunders’ side shellshocked.
Charlton were able to see the game out to secure a fourth consecutive home win which keeps their distant play-off hopes alive but Wolves now have just two games remaining to ensure they do not fall into the third tier of English football.