The 28-year-old joined the Baggies last summer on a season-long loan deal from Dynamo Kiev, and the two clubs have agreed a similar deal for the next 12 months.
"It was always our intention to get Goran back over the summer," manager Steve Clarke told the club's official website. "He knows what the club's about and we know what he's about.
"He's a good player and it makes sense to bring him back. He understands the Premier League better now as well and we will look for even more from him next season."
Popov made 12 Premier League appearances for West Brom last campaign.