From the very first lap there was excitement in Hungary, drama at Mercedes, and a Ferrari in P1 as Sebastian Vettel raced to only his second win of 2015 ahead of Daniil Kvyat.
It was a tense start to the Hungarian GP as Formula 1 first stopped to pay tribute Jules Bianchi with a minute's silence on the grid. And perhaps with that on his mind, Felipe Massa caused an aborted start as he was out of position on the grid. He was later handed a five-second penalty.
The second attempt at starting the now 69-lap grand prix proved to be an epic one for Ferrari as Vettel came shooting up from third place, up the inside of the Mercedes of Lewis Hamilton and into the lead.
His team-mate Kimi Raikkonen followed him through with Nico Rosberg third while Hamilton was fourth before a mistake at the chicane had him off the track and dropping down to 10th. He blamed Rosberg, telling Mercedes: "Nico crossed over my line there, pushed me wide."
Vettel had the better pace of the leading trio in the opening stint as he slowly pulled away from Raikkonen who in turn dropped Rosberg. After ten laps they were separated by 2.2 and 4.5s respectively. 10 laps later it was 3.1s and 10.1s.
Hamilton, meanwhile, had worked his way up to fifth place only to pit. He still came out in fifth, winning a brief battle with Valtteri Bottas for the position. A lap later his team-mate pitted from third. He came out P4.
Race leader Vettel was the next in followed by Ricciardo. They emerged P2 and P4 with Raikkonen leading the grand prix. However, the Finn's pit stop again put Vettel into the lead, 5.5s ahead of his team-mate. Rosberg, in third, was 11s down.
With both Ferrari drivers on the soft tyres and Rosberg on the mediums, the German found himself falling further and further off the pace. Another driver on the mediums, Ricciardo, fell victim to Hamilton and his soft tyres with the Brit going around the outside to take fourth. From there he began to hunt down his Mercedes team-mate. He closed the gap to five seconds only for Rosberg to find some pace, bringing it back up to seven.
Shortly after disaster befell Nico Hulkenberg who, minus a front wing, went straight on into the tyre barrier. That brought out the Virtual Safety Car and pit stops all around. The leading four all opted for the medium tyres - even Rosberg despite having already used them - while Ricciardo in fifth was the first on the softs.
The Virtual Safety Car became a real one on lap 44 as debris from Hulkenberg's broken front wing littered the track. Race Control brought the drivers through the pit lane in order to give the marshals a free track to sweep it clean.
The race resumed on lap 49 with Vettel scampering off while Rosberg took second off Raikkonen and Ricciardo and Hamilton made contact. Both cars suffered damage; Ricciardo's right sidepod and Hamilton's front wing. They continued fighting for position before Hamilton dropped off, falling to P6.
Valtteri Bottas meanwhile fell out of the fight when he sustained a right rear puncture and had to pit. A lap later Hamilton gave up the battle with his injured car and pitted for a new front wing. That dropped him to P12. He was later handed a drive-through penalty for causing the collision. Raikkonen was another into the pits, stopping on lap 53 as Ferrari tried to reset his MGU-K. It didn't help and he retired a few laps later.
Back at the front, Vettel was holding off Rosberg but only just as Ricciardo and Kvyat closed in on the fight for the race win. It was medium versus medium versus soft and soft. Lap after lap the gap between Vettel and Rosberg hovered at 1.2s while the Mercedes driver's gap to Ricciardo was about 0.5s and Kvyat was fast approaching.
Ricciardo made his move with five to go only to run into the corner too hot. He tried to pull it back but clipped the rear of Rosberg's W06. Pieces of Ricciardo's front wing broke off and Rosberg suffered a left rear puncture. Both had to pit, Ricciardo coming out in third place and Rosberg in 10th.
Their collision left Vettel free to race to the victory, which he took by over five seconds ahead of Kvyat. The latter was handed a ten-second time penalty for making a pass by going off track but still held onto second as he was comfortably ahead of Ricciardo. The Aussie was third in a double podium for Red Bull.
Max Verstappen finished in fourth place, his best-ever result in Formula 1, and he claimed it despite a drive-through penalty for speeding behind the Safety Car. He finished just ahead of the McLaren of Fernando Alonso, who secured the team's highest finish of the year with a P5.
Hamilton recovered to sixth place while Romain Grosjean was seventh ahead of the others Mercedes of Rosberg. Jenson Button made it McLaren's first double points-haul of 2015 while Marcus Ericsson completed the top ten.
1 Sebastian Vettel Ferrari 1:46.09.985
2 Daniil Kvyat Red Bull 15.7
3 Daniel Ricciardo Red Bull 25.0
4 Max Verstappen Toro Rosso 44.2
5 Fernando Alonso McLaren 49.0
6 Lewis Hamilton Mercedes 52.0
7 Romain Grosjean Lotus 58.5
8 Nico Rosberg Mercedes 58.8
9 Jenson Button McLaren 67.0
10 Marcus Ericsson Sauber 69.1
11 Felipe Nasr Sauber 73.4
12 Felipe Massa Williams 74.2
13 Pastor Maldonado Lotus 85.1
14 Valtteri Bottas Williams 80.2
15 Roberto Merhi Manor 2 laps
16 Will Stevens Manor 4 laps
Did Not Finish
Carlos Sainz Toro Rosso 9 laps
Kimi Raikkonen Ferrari 14 laps
Sergio Perez Force India 16 laps
Nico Hulkenberg Force India 28 laps