Lewis Hamilton was denied a 100th Formula One race win but charged up from last to finish on the podium in a dramatic Hungarian Grand Prix, leapfrogging championship leader Max Verstappen in the process.

There was chaos from the off at the Hungaroring, where Esteban Ocon triumphed to hand Alpine an unlikely victory.

Like two weeks ago at Silverstone, the race was suspended after a collision at Turn One. Unlike on that occasion, Hamilton – who started in pole has he hunted a record ninth win in Hungary – was not involved, but Verstappen was.

Hamilton's Mercedes team-mate Valtteri Bottas was at fault, with five drivers forced out in total.

Verstappen survived, albeit with a damaged car, and an apparent mistake from Mercedes after the restart sent Hamilton down from first to last.

Yet the seven-time world champion battled back, leaving Verstappen – who just scraped into the points – well in his wake as he took top spot in the championship standings while Ocon celebrated a maiden F1 success.

After the furore at Silverstone, the pre-race build-up was dominated by talk of possible danger at Turn One, and so it came as little surprise when, in wet and greasy conditions, Bottas failed to judge the timing of when to brake.

Bottas, who was given a five-place grid penalty for the Belgian Grand Prix, Verstappen's team-mate Sergio Perez, Lance Stroll and Charles Leclerc were all out by the time the red flag was raised, with Lando Norris, on a 15-race streak of finishing in the points, also unable to continue.

There was more drama to come. After the restart formation lap, only Hamilton started from the grid, with all other 14 drivers choosing to switch tyres as the rain eased off and the track dried.

By the time he had pitted, Hamilton had fallen to last.

The 36-year-old recovered, getting the better of Antonio Giovinazzi before, on the 21st lap, undercutting Verstappen, who was held up by Daniel Ricciardo's sluggish exit from the pit lane.

Hamilton continued his charge up the field, and at one stage it seemed like an incredible victory could be on the cards.

However, his push was held up by Fernando Alonso, who expertly held his own in a thrilling 10-lap tussle.

A frustrated Hamilton finally got beyond his former McLaren team-mate on lap 65, with Carlos Sainz's efforts to hold onto third proving fruitless.

Hamilton's remarkable run stopped there and, though a milestone success on the track where he won his first Mercedes triumph in 2013 alluded him, he has the championship lead.

Alonso's defence ultimately ensured victory for Alpine team-mate Ocon, with Sebastian Vettel holding off Hamilton to seal a second podium finish of the season.

IN THE POINTS

1. Esteban Ocon (Alpine)
2. Sebastian Vettel (Aston Martin) +1.918 seconds
3. Lewis Hamilton (Mercedes) +2.540s
4. Carlos Sainz (Ferrari) +15.018s
5. Fernando Alonso (Alpine) +15.651s
6. Pierre Gasly (AlphaTauri) +1:03.614s
7. Yuki Tsunoda (AlphaTauri) +1:15.803s
8. Nicholas Latifi (Williams) +1:17.910s
9. George Russell (Williams) +1:19.094s
10. Max Verstappen (Red Bull) +1:20.244s

CHAMPIONSHIP STANDINGS

Drivers

1. Lewis Hamilton (Mercedes) – 192
2. Max Verstappen (Red Bull) – 186
3. Lando Norris (McLaren) – 113
4. Valtteri Bottas (Mercedes) – 108
5. Sergio Perez (Red Bull) – 104

Constructors

1. Mercedes – 300
2. Red Bull – 290
3. McLaren – 163
4. Ferrari – 160
5. Alpine – 75