Substitute Berahino opened the scoring in the 44th minute, collecting the ball from Stephane Sessegnon just inside the area and slotting home calmly.
An the victory was wrapped up in the 83rd minute when Gareth McAuley headed in from Chris Brunt's corner.
The result means Palace, overseen for a second successive match by caretaker boss Keith Millen, have now lost nine of their 10 league fixtures this term and their last seven in a row.
The hosts, 11th in the table, began brightly and Shane Long, starting a league game for the first time since his proposed transfer deadline day move to Hull failed to materialise, tried to latch onto a ball over the top that deceived Julian Speroni, but the striker could not prevent it from going out of play.
Virtually out of nowhere, Palace then fired a warning as their former Wolves midfielder Adlene Guedioura collected the ball from Marouane Chamakh's flick-on and cracked a shot inside the box that Boaz Myhill managed to parry at his near post.
Chamakh attempted to burst through the Baggies defence soon after only to overhit the ball, before Guedioura collided with Myhill and appeared to take a knee to the chest.
Having been down for some time receiving treatment, the Algeria international was carried from the pitch on a stretcher, with Jason Puncheon replacing him.
Around 10 minutes later Albion were forced into an early substitution of their own as Billy Jones, nursing an apparent hamstring problem, came off for Berahino.
The game had gone into something of a lull, which James Morrison's shot blazed high over the bar and Puncheon's skewed effort across the face of goal did little to alleviate, but West Brom then snatched the lead with a minute of normal time remaining in the first half.
Collecting the ball from Brunt on the left, Sessegnon found the space to drift into the Palace box and provided a cutback for Berahino, who took one touch with his right foot before finishing with his left.
Berahino tried his luck again moments later with a shot from outside the area that Speroni dealt with.
West Brom were again on the attack after the restart and it required a decent headed clearance from Joel Ward to avert the danger from a cross by Morgan Amalfitano, who then had a strike blocked by Danny Gabbidon.
Palace tried to hit back and, after Myhill pushed a deflected Puncheon shot behind, Mile Jedinak connected with Jerome Thomas' corner but sent his header narrowly wide.
The ball then came to Chamakh in a dangerous position and, although he failed to control it and it ran away from him, it might have gone in.
At the other end, Dean Moxey made a superb last-ditch tackle to take the ball away from Long, who had looked set to score following good work from Berahino, before Brunt steered an effort just wide.
West Brom's second then duly arrived as McAuley crashed in Brunt's delivery.
Palace strived to pull a goal back, with Myhill denying substitute Yannick Bolasie, but they were soon out of time.