Goals from Dwight Gayle and Marouane Chamakh were enough to ensure Palace's place in the FA Cup fourth round draw as the Eagles picked up their first win of 2014 at The Hawthorns.
After Gayle found the net halfway through the first half after a neat turn and shot from outside the box, substitute Chamkah sealed the victory with the final kick of the game as the Eagles displayed their vast improvement since losing at this ground by the same scoreline two months ago.
Despite both managers opting to make plenty of changes after a hectic festive period, the game's opening exchanges were full of quality. After Saido Berahino's speculative volley went well over, the visitors hit the woodwork when Barry Bannan and Gayle completed a one-two which allowed the Scot a chance from a tight angle but he struck the upright.
Next to try and break the deadlock was Matej Vydra when he latched onto an incisive Gera pass which split the Eagles defence but blasted straight at Julian Speroni, but first blood would deservedly go to Palace on 22 minutes.
Making his first appearance of the season, Hiram Boateng picked up a poor clearance and played the ball inside for Gayle, who spun and drilled it past the wrong-footed Ben Foster from outside the box into the near corner to net his fourth goal of the campaign.
The Baggies nearly bounced straight back when Craig Dawson struck the bar with a header from another dangerous delivery from Gera but threatened little else as the half drew to a close.
Knowing their cup dreams would be dashed at the first hurdle that changed after the restart. In the opening minute Berahino tried his luck from 20 yards which saw Speroni spill his low strike, and the same thing happened four minutes later when the hot prospect again tried from range with the Palace custodian's parry narrowly missing the lurking Vydra.
Chances continued to arrive thick and fast, and Yannick Bolasie should have done better with a header inside the area from a Jonny Williams delivery before Bannan curled a free-kick narrowly over the bar and Diego Lugano diverted a Gera corner wide in a frantic five minute period.
But Speroni had to be at his best to keep his side in the lead on the hour mark. Vydra found himself with time to take aim on the edge of the box, and despite the ball seemingly destined for the bottom corner the veteran shot-stopped showed brilliant reactions to get down low and push it to safety.
The momentum was with the home side but Berahino still couldn't find a way past Speroni as he thumped another effort towards goal after a cutback from Shane Long but saw it pushed wide, however despite knocking on the door they couldn't find a way past a resolute Eagles defence although Gera saw a shot deflected inches past the post in injury time.
Indeed it was Palace who found the net once again with the last kick of the game. With the Baggies piling forward Palace broke and Bolasie rounded Foster before teeing up Chamakh who slotted the ball in and book Palace's place in the fourth round for the first time in three years.
West Brom: Foster, Lugano, McAuley, Dawson (Amalfitano 59), Popov, Morrison, Yacob (Sessegnon 82), Gera, Berahino, Vydra (Sinclair 69), Long. Subs not used: Myhill, Brunt, Ridgewell, Thorne.
Crystal Palace: Speroni, Parr, Delaney, Gabbidon, Mariappa, Dikgacoi, Boateng (O'Keefe 68), Jonny Williams (Puncheon 78), Bolasie, Bannan (Chamakh 78), Gayle. Subs not used: Price, Moxey, McCarthy, Dobbie.