Hamilton was relegated to fourth on the opening lap during which, in an attempt to pass Rosberg, he ran wide across a gravel trap at the chicane.
He returned to the track in a spray of stones, re-joining in 10th place. "Nico crossed my line there, he pushed me wide," said Hamilton, a claim not supported by video replays.
After closing the gap behind Rosberg to five seconds, Hamilton lost time in traffic while Raikkonen, suffering more bad luck, lost power and slowed before Hulkenberg, after losing the front wing on his Force India car in a frightening incident on the straight, crashed directly into the barriers at Turn One.
More drama erupted at the re-start on lap 49. Sensing his chance, Rosberg attacked and passed Raikkonen for second while Hamilton, on harder tyres, struggled against Ricciardo and collided with him at Turn One, the Briton losing a front wing end-plate.
It was his final significant act. He pitted on lap 52 for a new front wing, re-joined 13th and was then given a drive-through penalty for his part in the incident.
He cut the gap while Ricciardo, on softs, closed behind him before a late collision between the pair when the Australian tried to pass him at Turn One with four laps remaining left Rosberg with a puncture and Ricciardo with a damaged front wing.
This opened the door to Kvyat and gave Hamilton his chance to climb back ahead of Rosberg in an unexpected finish on a remarkable day.
