The Baggies have secured the forward, who represented Sweden at Euro 2012, and was a free agent after leaving Werder Bremen at the end of last season after five years with the club
The 29-year-old was a free agent having left Bundesliga side Werder Bremen in May, and the Baggies have fought off stiff competition from Europe and China to sign the Swedish hitman.
The deal is still subject to international clearance, but Rosenberg has already passed a medical and been given the number eight shirt at the Hawthorns.
The former Ajax striker has a good goal scoring record, grabbing 11 goals in 33 appearances last season.
He moved to Germany from Holland in 2006 and proceeded to net 57 goals in 117 games for Bremen.
Rosenberg becomes the third summer arrival at the Hawthorns following Ben Foster's £3.5 million move from Birmingham and the free transfer of Claudio Yacob as new manager Steve Clarke looks to strengthen his squad ahead of the start of the Premier League season on August 18th.