On a day when the Silver Arrows had no answer to the Scuderia, despite Vettel complaining of steering issues, Valtteri Bottas took third ahead of Hamilton, just in front of a recovering Max Verstappen, who had been penalised 10 seconds for taking his Red Bull team mate Daniel Ricciardo out of the race on the opening lap.
Fernando Alonso secured his and McLaren’s best result of the year in sixth, winning a race-long battle with fellow Spaniard Carlos Sainz in the Toro Rosso.
Force India again got both cars in the points, with Sergio Perez beating team mate Esteban Ocon to eighth place, whilst Stoffel Vandoorne rounded out the top ten in the second McLaren.
Vettel and Raikkonen finished less than a second apart after 70 laps of the Hungaroring, but the reds certainly had to work much harder that they anticipated for their 43 points.
In the opening stages they were very much in command, as Vettel sprinted away and took Raikkonen with him, and Hamilton dropped behind team mate Bottas and Verstappen at the start.
But gradually Raikkonen began to erode Vettel’s lead as the German started complaining of a steering problem, and when Hamilton’s car came alive on the soft Pirelli tyres in the second stint, Mercedes asked Bottas to let the Briton by.
Then we had a real race, as Hamilton began clawing back ground lost partly because Ferrari were generally quicker, partly because of his indifferent start, and partly because a radio communication problem had seen Mercedes bring him in sooner to switch from the supersoft tyres to the softs than he thought necessary.
Bit by bit he pulled Raikkonen in, as the Finn angrily declaimed to Ferrari that he didn’t want to have to deal with pressure from Mercedes when it would be easier to get Vettel to move over. He was told that Vettel had been instructed to speed up and to go with him. Meanwhile, Hamilton was given five laps – then 10 – in which he could use his engine’s overtake function, and was putting them under big pressure. In a brave charge he got the gap to Vettel down to 1.7s on the 54th lap, but as is so often the case at the Hungaroring, a following car just couldn’t quite gather the pace to overtake.
Gradually he dropped away, as Bottas kept pushing hard in the closing stages to keep a threatening Verstappen at bay. The Dutchman had ran fourth and moved up into the lead when Raikkonen, the last of the leaders to stop, pitted on the 34th lap. He stayed out until the 42nd lap, but had to serve his 10s penalty during his stop for shoving team mate Ricciardo into retirement in Turn 2 on the opening lap. Now, on fresher tyres, he was coming back fast at the second Mercedes.
In the end, Hamilton and Mercedes honoured their promise to Bottas to restore his podium slot in the event that Hamilton could not pass the Ferraris, so as Vettel won by 0.9s, Bottas ended up a further 11.5s adrift, with Hamilton 0.4s behind and Verstappen another 0.4s down.
The result puts Vettel further ahead again in the title chase with 202 points to Hamilton’s 188 and Bottas’s 169, while Raikkonen closes on Ricciardo’s 117 with 116.
McLaren finally moved out of last place in the constructors’ table, with Fernando Alonso finishing an excellent sixth – and remarkably setting the fastest lap of the race on the 69th tour – and Vandoorne surviving for 10th after a near-miss with the spinning Ricciardo on the opening lap, then a delay during his pit stop. They now have 11 points to Sauber’s five.
In between the McLarens, a brilliant start brought Sainz seventh place for Toro Rosso, ahead of equally fast-starting Perez, who had a brush with team mate Ocon at the start and finished only a second ahead, as Ocon in turn was just half a second ahead of Vandoorne at the end.
Daniil Kvyat was 11th in the other Toro Rosso, four-tenths ahead of Jolyon Palmer who had run 10th early on before being instructed to let faster Renault team mate Nico Hulkenberg by. The German was fighting for points when he was eased off-track in Turn 2 by Kevin Magnussen (who received a five second penalty as a result), but his R.S.17 malfunctioned right near the end and he was instructed to retire.
That left Magnussen 13th from Lance Stroll who was Williams’ sole finisher after the returning Paul di Resta drove a smooth and incident-free race battling with the Saubers until he too was told to stop near the end due to an oil leak.
Pascal Wehrlein beat Sauber team mate Marcus Ericsson for 16th, as Romain Grosjean joined Hulkenberg, di Resta and Ricciardo in retirement when an improperly fastened wheel obliged Haas to tell him to stop. The team were subsequently fined €5,000 for releasing the car in an unsafe condition.