Lewis Hamilton beat Max Verstappen in an epic duel to take victory in an enthralling Hungarian GP.

Red Bull seemed to have the race in hand after Max Verstappen led from pole, but a perfect strategy by Mercedes denied Verstappen of his first victory in Budapest.

Both drivers had been in a race of their own out front, with Sebastian Vettel finishing nearly a minute behind the race victor in third.

Hamilton and Verstappen in class of their own

Despite struggling to get off the line well in previous races, Verstappen executed a near-perfect start to fend off both Mercedes into turn one.

Following a lock-up in trying to defend from Hamilton heading into turn two, Valtteri Bottas conceded second place to his team-mate, falling to third.

But his race was ruined after contact with Charles Leclerc moments later resulted in front wing damage, forcing the Finn to make an early pit stop.

Out in front, Verstappen and Hamilton had been equal on pace, and started to pull away from the chasing pack.

But after the first round of pit stops, Hamilton rapidly closed in on Verstappen, putting the Dutchman under pressure as he fended off the Brit.

A bold attempt by Hamilton to go round the outside of Verstappen into turn four subsequently did not pay off, with the Brit forced to run wide and picked up dirt on his tyres.

It was then that Mercedes rolled the dice with their strategy, pitting Hamilton for a set of new medium tyres to chase down Verstappen.

Despite Hamilton questioning the strategy, he was able to hunt down Verstappen, passing him with just three laps remaining of the race.

Verstappen pitted soon after for soft tyres, setting the fastest lap of the race as a result.

But it left Hamilton able to cruise to victory, taking his eight-win of the year and extending his championship advantage to 62 points over team-mate Bottas.

Ferrari struggled for pace, McLaren impress

Ferrari were off the pace of their rivals, with Charles Leclerc set for third come the chequered flag.

However, an alternate strategy for team-mate Sebastian Vettel, who went long on his medium tyres in the first stint before switching to softs, saw the German able to pass Leclerc with two laps left of the race.

Carlos Sainz continued his impressive form at McLaren to finish fifth ahead of Pierre Gasly in sixth.

Kimi Raikkonen drove a fine race to finish seventh for Alfa Romeo, with Bottas recovering to eight.

Lando Norris finished ninth, whilst Alexander Albon rounded off the points positions.