It means Hamilton’s lead at the top is down to nine points as the Formula One circus heads to Italy, Monza next weekend.
Hamilton said: “I’d have had an even better summer if I’d known I’d be coming out nine points ahead after three new engines.”
The Force India’s of Nico Hulkenberg and Sergio Perez finished fourth and fifth respectively while Fernando Alonso, who started at the back of the grid with Hamilton, climbed to an impressive seventh.
Vettel and Raikkonen ended their incident packed races in sixth and ninth.
The Williams of Valtteri Bottas and Felipe Massa rounded off the top ten in eighth and tenth.