Robbie Earnshaw's second-half hat-trick gave West Brom's survival hopes a boost against 10-man Charlton.
Albion deservedly took the lead when Geoff Horsfield headed in from close range after a cross from Zoltan Gera.
Tal El Karkouri was sent off for a two-footed lunge on Gera after Jonatan Johansson levelled for the home side.
Earnshaw headed home and then slotted in from Gera's through-ball before netting from the spot after Bryan Hughes fouled Richard Chaplow.
The relegation-threatened visitors began with a confidence as they pegged the Addicks back.
Charlton looked decidedly uncomfortable and it was no surprise when after a period of sustained pressure Horsfield gave Albion the lead with a header.
The Addicks were sparked into life and Johansson went narrowly wide before levelling the scores.
Johansson, brought back into the team at the expense of Dennis Rommedahl, rode his luck when the ball broke kindly off the advancing keeper to direct the ball into an empty net.
Alan Curbishley's side were growing in confidence but suffered a setback when El Karkouri was sent off after 29 minutes for a reckless challenge on the lively Gera.
Charlton made light of being a man down and almost took the lead but Hermann Hreidarsson's header was cleared off the line by substitute Darren Moore.
Albion began the second period with the same attacking intent they had started the match.
After an hour Bryan Robson showed he was not content with a point by bringing on striker Robbie Earnshaw for midfielder Kieran Richardson.
Curbishley seeking the winner introduced Jason Euell to replace Johansson but it was the visitors who struck.
Earnshaw ghosted into the box and headed in after a telling contribution from Horsfield.
The introduction of the Welsh striker was the defining moment of the match and he latched on to Gera's through pass to grab his second.
Chaplow, on his Premiership debut, made an immediate impact when he won a penalty and Earnsham made no mistake from the spot.
Charlton boss Alan Curbishley:
"The sending of was harsh and it changed the match.
"We were up against it because we had to play with more than a hour with one man less and so it was always going to be difficult.
"I was hoping to get away with a point and my players acquitted themselves very well until the last few minutes."West Brom boss Bryan Robson:
"We created a good number of chances and this result has been coming because some of our away performances have been very good," said Robson.
"I give full credit to my players because they have been keeping their belief and still feel we can stay up.
"As long as we keep playing the way we did in this match we have a chance."
Charlton: Kiely, Young, Fish, El Karkouri, Hreidarsson, Johansson (Euell 70), Murphy (Rommedahl 77), Holland, Konchesky, Thomas, Bartlett (Hughes 82).
Subs Not Used: Perry, Andersen.
Sent Off: El Karkouri (29).
Goals: Johansson 24.
West Brom: Hoult, Albrechtsen, Gaardsoe (Moore 22), Clement, Robinson, Gera (Chaplow 86), Wallwork, Richardson (Earnshaw 64), Greening, Horsfield, Campbell.
Subs Not Used: Kanu, Kuszczak.
Goals: Horsfield 9, Earnshaw 73, 84, 90 pen.
Ref: M Halsey (Lancashire).