Iwelumo, who left Charlton for Wolves last summer, struck for the first time in 17 games - stretching back to the 3-1 win at Sheffield United on November 25 - with a 36th minute opener.
But Wolves had to rely on a 79th minute own goal from Matt Holland - who defected Iwelumo's header over the line - to earn them only their second home win in 2009.
They had looked set to have to settle for a share of the spoils after Zheng Zhi had put Charlton back on level terms in the 52nd minute and Wolves' 23-goal leading scorer Sylvan Ebanks-Blake then missed a penalty.
Ultimately they were indebted to Holland who put the ball over his own line after Iwelumo had flicked on a David Jones corner.
Before Iwelumo eased their nerves with his opener, Wolves had been given a stern early test by a spirited Charlton side.
Zheng fired just over the bar in the 14th minute before Nicky Bailey saw one free-kick blocked and another one saved by the well placed Wayne Hennessey.
Failing to take advantage of that early pressure proved to be costly for Charlton as Iwelumo skilfully ended his long goal drought nine minutes before half-time.
While Iwelumo's finish was impressive, he owed the goal to his strike partner Ebanks-Blake.
He started the move by picking out Michael Kightly and then collected the ball off the England Under-21 international before lifting a cross into the area.
There initially seemed to be little danger but Iwelumo stuck out a long right leg to steer the ball home off the inside of the post from eight yards for his 16th goal of the season.
If Wolves thought that would be good enough to see off Charlton they were mistaken.
Zheng stunned them seven minutes into the second half when he collected a neat pass from Bailey and beat Hennessey with a stunning drive from the edge of the area.
When Ebanks-Blake then saw his spot kick saved in the 69th minute by Rob Elliot after referee Graham Laws had infuriated Charlton by awarding the penalty following a goalmouth scramble, Zheng's strike looked good enough to earn Phil Parkinson's side a point.
But Wolves then laid siege to the Charlton goal and were rewarded 11 minutes from time when the luckless Holland turned the ball past Elliot.