Rosberg’s delight was reduced by his Mercedes team-mate Hamilton’s damage-limiting and thrilling drive to finish on the podium after starting from the back row of the grid.
Australian Daniel Ricciardo finished second in his Red Bull.
The 31-year-old Rosberg, who started from his third successive pole position, led from start to finish in a 44-laps race fractured by accidents and incidents to secure his first victory in Belgium and his sixth of the season.
ROS: "It's been a great weekend. Thank you to my team and congrats to Lewis too for P3 from the back" #BelgianGP pic.twitter.com/0MFAA1FoQt
— Formula 1 (@F1) August 28, 2016
PROVISIONAL CLASSIFICATION
— Formula 1 (@F1) August 28, 2016
Rosberg takes sixth win of the season and his first ever victory at Spa#BelgianGP 🇧🇪 pic.twitter.com/UO85DIs8B6