Wingers Wilfried Zaha and Andros Townsend earned a victory that injected momentum into Sam Allardyce’s Crystal Palace survival mission.
Zaha and Townsend scored on 55 and 84 minutes respectively to secure back-to-back wins for the Eagles for only the second time this season.
The win moved them out of the relegation zone ahead of a two-week break from action, and meant a miserable reunion with his former employers for West Bromwich Albion boss Tony Pulis.
It was his first meeting with Palace since he was ordered to pay them £3.7m for obtaining a 2014 survival bonus ‘by deceit’, and an uncharacteristically flat display from Pulis’s side ended their four-match winning run on home soil.
Pulis was taunted by Palace fans over the Premier League arbitration panel ruling - upheld by a High Court judge - that he lied to obtain early payment of a £2m bonus for keeping Palace in the Premier League and his side, who were unbeaten in their previous five games, did little to quieten the travelling supporters.
Following a bright start by Palace, it was West Brom who posed the first real threat in the 16th minute. A superb crossfield pass by captain Darren Fletcher found Allan Nyom racing down the right and his excellent first touch allowed him to aim a cross towards Salomon Rondon at the far post, but on-loan Palace defender Mamadou Sakho made a crucial headed interception to concede a corner.
Two minutes later Palace almost gained the lead when Christian Benteke rose to meet a left-wing corner with a firm header that was cleared off the line by Chris Brunt. It was a strangely nervous start by in-form West Brom and a mix-up between Craig Dawson and goalkeeper Ben Foster almost allowed Wilfried Zaha in when the home pair left an Andros Townsend cross to each other. However, Zaha hesitated too and the ball ran out for a goal-kick.
Brunt was the next to try his luck in a game that had end-to-end action but little real drama. His volley from a James Morrison pass flew over the crossbar. West Brom screamed for a penalty six minutes before half-time when Rondon went down under a challenge from Yohan Cabaye but referee Mike Jones remained unmoved.
The home side made the early running in the second half with Salomon Rondon close to meeting a Chris Brunt cross before Nacer Chadli volleyed over from a Brunt corner, but it was the visitors who went ahead 10 minutes after the restart when Zaha grabbed his fifth Premier League goal of the season. The winger collected a superb, raking pass by Cabaye and went past Brunt’s poor challenge before beating Ben Foster with a low cross-shot.
Chadli had the chance to respond immediately for West Brom but his tame shot from the edge of the area was saved by goalkeeper Hennessey. Then Jason Puncheon saw a shot deflected wide for Palace after Foster and Gareth McAuley had combined to halt a weaving run by Zaha.
Palace should have ended any doubt about the result with 10 minutes remaining when Townsend found himself unmarked in the penalty area and on the end of a Luka Milivojevic pass but he was denied by Foster’s excellent reaction save.
Foster had no chance with six minutes to go, however, when West Brom substitute Jonathan Leko was caught in possession by Townsend, who ran around 80 yards into the Albion box before hitting a powerful shot that deflected in off Jonny Evans.
West Bromwich Albion (4-2-3-1): Foster; Dawson, McAuley, Evans, Nyom (Robson-Kanu 71); Livermore, Fletcher (Leko 81); Brunt, Morrison, Chadli (McClean 63); Rondon.
Subs not used: Myhill, Olsson, Yacob, M Wilson.
Crystal Palace (4-1-4-1): Hennessey; Ward, Tomkins, Sakho, Van Aanholt (Schlupp 62); Milivojevic; Townsend, Puncheon, Cabaye (Dann 74), Zaha (McArthur 86); Benteke.
Subs not used: Speroni, Campbell, Sako, Delaney.
Referee: Mike Jones
Attendance: 24,051Reuse content