Behind him, Williams’ Valtteri Bottas drove superbly to take second place and match his career best result from Great Britain.
But as those two made it home on two pit stops, it was a free-for-all scrap behind them for the final podium position as all of their rivals stopped three times.
In the end it was Hamilton who came all the way from 20th place on the grid in a Mercedes that had required a new gearbox after his qualifying crash (hence a five-place drop on his initial 15th starting position), and had also had its brake material switched as a precaution against the disc that failed in Q1.
Always out of kilter with the others because he started on the soft rubber, Hamilton’s afternoon was all about playing catch-up. He did well to survive contact while passing both Kimi Raikkonen’s Ferrari and Daniel Ricciardo’s Red Bull with a spectacularly opportunistic move going into the hairpin on the 13th lap, but the front wing endplate damage he sustained in a clash with Jenson Button’s McLaren at the same corner on the 30th lap lost him downforce and perhaps the chance to beat Bottas to second.
When Adrian Sutil spun his Sauber exiting the final corner on the 50th lap, Mercedes - anticipating a safety car which never came - called Hamilton into the pits for a third time for another set of supersoft tyres. Had they not have done so his previous set of supersofts would have had to withstand 23 laps when previously his more durable softs had only lasted 16, but it was a crucial call that dropped him from third to fourth.
When he came back out of the pits Hamilton was easily able to catch and pass Fernando Alonso, whose attempt to go through on two stops for Ferrari had to be abandoned soon after. Hamilton set fastest lap as he clawed to within half a second of Bottas, but by then his tyres were finished and he couldn’t get the speed going on to the straights to challenge the fleet Williams.
Rosberg thus now has 190 points to the Briton’s 176, but for Hamilton this day was all about damage limitation and he got that job done.
Red Bull’s Sebastian Vettel ultimately took a great fourth place after another fabulous wheel-to-wheel place-swapping fight with Alonso, while the cudgels on that score were taken up after the final pit stops as Ricciardo likewise battled the Spaniard tooth and nail. At the flag the red and the blue cars were separated by just 0.082s, with Alonso just getting the nod.
Nico Hulkenberg, like Alonso, kept up his record for finishing every 2014 race in the points, and took seventh for Force India ahead of Button whose attempt to make it on two stops also failed, dropping his McLaren from seventh to eighth.
Kevin Magnussen, in the other McLaren, was lucky to recover to ninth after a racing incident in the first corner saw him tip Felipe Massa’s Williams upside down and bring out the safety car for the first two laps. Massa was unharmed but unhappy, and as unlucky as ever.
The final point went to Force India’s Sergio Perez, after clashes with Daniil Kvyat’s Toro Rosso and Sutil’s Sauber. Raikkonen had another poor race for Ferrari, distinguished solely by one moment on the 15th lap when he got pincered between Vettel and Alonso during their duel, and took 11th ahead of Pastor Maldonado’s more competitive Lotus, Jean-Eric Vergne’s Toro Rosso, Esteban Gutierrez’s Sauber, Jules Bianchi’s Marussia, Kamui Kobayashi’s Caterham, Max Chilton’s Marussia and Marcus Ericsson's Caterham.
Besides Massa and Sutil, Kvyat’s STR9 retired after an impressive blaze engulfed its rear end, while the unlucky Romain Grosjean saw his Lotus grind to a halt with an apparent power unit issue after a decent run.
In the constructors’ stakes Mercedes moved even further ahead of their rivals, and now have 366 points to Red Bull’s 188. The big news, however, is that Williams are now up to third, having overtaken Ferrari, 121 to 116. Force India, meanwhile, moved a little further ahead of McLaren, with 98 to 94.