A strike from former Addick Jay Boothroyd and a late goal from Karl Henry saw Alan Pardew's Charlton side lose their second game of the season.
In a game that was always going to be a close affair it was Wolves who had done just enough to secure all three points. Second placed Charlton have now lost more ground on run-away leaders Watford, while Wolves have tightened the points gap between the top 6.
Charlton were out of the blocks the quickest with Chris Iwelumo hitting the post with a glancing header. Darren Ambrose also went close twice for the visitors but could not give The Addicks the lead.
Charlton left back Chris Powell then left the field of play after injuring himself in the first minute of play. Jose Semendo filled in at left back until Sam Sodje entered the fray replacing Powell. Sodje took the right-back berth as Danny Mills moved across the left-back.
Michael Knightly arguably one of the best players on the field throughout the game continued to cause Charlton problems he picked out Andy Keogh who spurned his chance over from 20 yards.
One minute into the second half Wolves managed to break the deadlock. Karl Henry's low cross across the Charlton box was toe poked in by Boothroyd.
A period of Wolves pressure followed with a curling Henry shot in the 62nd minute the closed the home side went to doubling their advantage.
Charlton pressed for an equaliser that just would not come, Sodje heading over and Varney having his low drive saved by the Wolves stopper.
It was curtains for the Londoners on 85 minutes as Boothroyd caused more damage to his former club by laying off to Keogh who found Henry who was able to slot home.
Nicky Weaver 6
Danny Mills 6
Madjid Bougherra 5
Jonathon Fortune 5
Chris Powell 6
Darren Ambrose 6
Jose Semendo 7
Andy Reid 7
Zheng Zhi 6
Chris Iwelumo 6
Luke Varney 5