In his 50th race for Ferrari, the four-time champion German controlled the contest from pole position in stifling heat to reel off his first win in five races since the Monaco Grand Prix.
Mercedes gentleman Lewis Hamilton lets his team-mate Valtteri Bottas through at last corner and finishes fourth; Double points finish for McLaren-Honda.
Fernando Alonso came home sixth and recorded the fastest lap of the race for McLaren-Honda after a stirring and often remarkable drive.
Raikkonen was lapping quickly and felt he should have been given a chance to catch Vettel but Ferrari denied him in a clear display of preference. Which was also noted by Hamilton, who urged his team to allow him a clear run at the race leader.
The Finn was particularly not impressed by Ferrari’s pit-call, ruing about it on the radio, “I had the pace to stay out”, especially given how Vettel was finding not the best time this year with his steering.
Mercedes told Bottas to step aside for five laps to allow Hamilton a chance to chase down Vettel, and the Briton repaid his team-mate by letting Bottas through at the final corner to take third place.
The Australian was at the centre of more controversy as he was taken out of the race by his team-mate Verstappen, who locked up at Turn 2, crashing into Ricciardo.
Verstappen was given a 10-second time penalty but Ricciardo was fuming on the radio saying “Someone hit me.
It was Ferrari’s first one-two in Hungary since 2004.
Podium interview – David Coulthard joining the winners
Vettel: “I’m over the moon. It was really difficult. I had my hands full from three four laps after the safety car. The steering started to go sideways. I stayed off the kerbs, tried to save the car. I didn’t do any favours to Kimi, who could go faster. I really had to stay focused the whole race. I was hoping for a couple of laps to breathe but they didn’t come. I don’t know what happened. We’ll have a look – but it doesn’t matter now because we won the race!”
Raikkonen: “I think my fans all understand English. Unfortunate I couldn’t give them the win. I had a good start but didn’t want to force the issue. After that I just kept following. Not ideal, I want to win, but it’s great for the team. The other guy has to do quite a bit mistake, it’s not easy to overtake, especially with a team-mate, where you take more care.”
Bottas: “I was getting a little bit worried as the gap was increasing, but really, thanks to Lewis to keep the promise and let me by. I gave him the shor to get past the Ferraris. It’s a shame, we had good pace, but we couldn’t finish any better. When the gap was big I knew it could be a problem, so I just want to thank the team.”