Force India’s Nico Hulkenberg again missed out on that elusive maiden podium, finishing fourth ahead of team mate Sergio Perez and the Ferrari of Sebastian Vettel, while Fernando Alonso - last on the grid - was a superb seventh for McLaren.
The Williams of Felipe Massa and Valtteri Bottas were eighth and tenth respectively, split by Kimi Raikkonen who completed the top ten in the second Ferrari.
For Rosberg it looked like a stroll in the Ardennes as he scored his sixth victory of the year, the 20th of his career, and his first at Spa-Francorchamps, but for pretty much everyone else the race was a bitty, sometimes ill-tempered affair.
It began badly for Ferrari and Red Bull. As Rosberg leapt into the lead Max Verstappen was slow away but immediately counter-attacked Kimi Raikkonen going into La Source. The Dutchman was in second place on the inside, side-by-side with the Ferrari, when Sebastian Vettel, out wide, cut back sharply and hit his own team mate and pushed the Finn into contact with the Red Bull.
All three cars were damaged; Verstappen lost a chunk of his front wing, Raikkonen sustained a puncture and front wing damage and limped to the pits, and Vettel also had resultant problems with his front wing. The incident compromised all of their races, though events on the sixth lap threw them a lifeline. Also on the opening lap, Pascal Wehrlein ran his Manor into the back of Jenson Button’s McLaren, putting both of them out.
It was on the sixth lap that Kevin Magnussen lost the back end of his Renault, which was running in eighth place on team mate Jolyon Palmer’s tail, as he reached the top of Eau Rouge. Thankfully when he spun he initially went into the barriers backwards, but it was a huge impact. The Dane was mercifully able to walk away, and was later taken to hospital for check-ups on a cut left ankle. His Renault looked a write-off, and the race had to be red flagged on the ninth lap because the tyre wall and barriers needed repairs.
It was restarted 17 minutes later, after teams had had the chance to change to whatever tyres they wanted. Rosberg immediately resumed control, but for a long time Ricciardo kept him honest in a Red Bull that was surprisingly quick, and it was only in the final stint when both were on tired medium rubber that the Australian finally began to slip back. He finished an honourable 14.1s behind, on the podium for the third race in succession.
One of the other drives of the race came from Hamilton, who started on mediums from 21st after all his pre-race engine changes. The carnage on the opening lap proved immensely helpful to his cause, as did the safety-car intervention and then the red flag. By that point he had risen to fifth place, behind Rosberg, Ricciardo, Hulkenberg and Alonso. On the restart he quickly worked his way up to third by the 18th lap, but it soon became clear that on a set of softs tyres, then a final set of fresh mediums, he could not catch Ricciardo. He pushed hard enough to set two fastest laps, and got within 10 seconds, before dropping back to finish 13.5s behind the Australian. He said he was hugely surprised to have made the podium after a tough afternoon of extremely useful damage limitation.
The world champion now has 232 points to Rosberg’s 223 and Ricciardo’s 151.
Hulkenberg continued his excellent weekend with fourth place ahead of team mate Perez, and their haul of 22 points lifts Force India into fourth place, ahead of Williams, with 103 to 101.
Vettel, like Hamilton, benefited from all the disruptions, and fought back up to sixth after the first-lap collision with Raikkonen had cost Ferrari any chance of victory.
In a great race for McLaren, Alonso was another to benefit from the incidents but also drove an excellent race to stay ahead of the two Williams. At the end he was under heavy pressure from Bottas, the recovering Raikkonen and Massa, but crossed the line ahead of them all. His six points put McLaren into sixth place ahead of Toro Rosso, with 48 points to 45.
And the man it seemed everyone had come to see? After his first-corner drama Verstappen was always on his back foot, running in traffic while trying to recover, but he angered Raikkonen with some of the tactics he used to keep the Ferrari behind at one stage, and later also scrapped with Vettel and Perez. There was some hard racing going on out there this afternoon.
In the end, he had to be satisfied with 11th, ahead of the Haas cars of Esteban Gutierrez and Romain Grosjean, Daniil Kvyat’s Toro Rosso and Palmer’s Renault, which gradually slipped back with tyre wear issues. Rookie Esteban Ocon did a fine job to bring his Manor home 16th, beating Felipe Nasr’s Sauber in the closing stages.
Besides Magnussen, Button and Wehrlein, Marcus Ericsson’s Sauber failed to go the distance, and Toro Rosso’s Carlos Sainz made a spectacular early departure with a right-rear puncture.