The 20-year-old, who had been linked with both Arsenal and Chelsea, has emerged into one of the most talented youngsters in the Premier League in recent months.
His previous deal was due to expire at the end of the season, but he has now committed his future to the club.
"It was always our intention to reward Saido for the huge strides he has made over the past few months," sporting and technical director Richard Garlick told the club's official website.
"He's not the finished article and he has to remain patient, as we do with him. But he has done exceptionally well to get where he is and he now has to focus on what got him here – hard work and keeping his feet on the ground."
Berahino joined the Baggies nine years ago.