As Vettel stormed away into his habitual lead at the start, Grosjean passed Lewis Hamilton for second into Turn 3.
In their wake, a late-braking move from Felipe Massa ended with the Ferrari spinning across the corner apex and scattering the pack behind. Everyone avoided Massa, but Jenson Button and Adrian Sutil picked up wing damage in the traffic jam.
Raikkonen jumped to the front of that group when he made his second pitstop earlier than those around him.
Further up the road, Hamilton began to suffer extreme tyre wear in his second stint and tumbled away from Grosjean towards Rosberg - only for the German's front wing to partially fail in a shower of sparks as he overtook his struggling team-mate.
With both Mercedes delayed, Raikkonen gained two more places, just before the first safety car when Sergio Perez's right front tyre dramatically blew on the long straight after Turn 2.
Mark Webber, who had made good progress from 13th, was immediately behind and picked up a puncture from the resultant debris.
With the McLaren's tyre carcass in the middle of the straight, a safety car was required.
Vettel stayed clear of the Lotus pair at the restart, with Raikkonen passing Grosjean with a spectacular Turn 1 move a lap later.
Another safety car was imminent, though. Sutil had spun into Turn 3 on the restart lap and clouted Webber, causing the Red Bull to catch fire in the run-off area.
A fire vehicle eventually appeared on track to deal with the blazing car, forcing a frantic safety car deployment as the leaders bore down on the fire truck.
After that mess was resolved, the race ran green to the flag, with Vettel edging away from Raikkonen and Grosjean to win.
Behind them, a mighty performance from Hulkenberg earned him and Sauber fourth place. He had pounced on Hamilton's Mercedes at a restart to take the position, and then clung on under huge pressure from the Briton and Alonso, who were having a thrilling wheel-to-wheel scrap of their own.
Rosberg joined this battle by the end, followed by Button, Massa and Perez, who just denied Mexican countryman Esteban Gutierrez a point.
Williams ran in the top 10 for a long spell after a brilliant first lap from Pastor Maldonado, but the Venezuelan ultimately fell to 13th behind team-mate Valtteri Bottas.
Paul di Resta crashed his Force India and both Toro Rossos also retired, Daniel Ricciardo having got as high as seventh in the first stint.