A late-charging Lewis Hamilton has won the Hungarian Grand Prix, as he overtook Max Verstappen for the lead of the race with four laps left to run.
Verstappen was out in front for most of the race, having kept his lead off the line and into Turn 1. Hamilton kept the pressure on the Dutchman, but couldn't pass him in the early stages of the race.
Verstappen was the first of the two to pit, while Hamilton stayed out for another handful of laps, rejoining the circuit a number of seconds behind the Red Bull driver.
However Hamilton soon closed up on Verstappen, but once again couldn't pass him, despite a close wheel-to-wheel battle through the first sector.
Mercedes opted to pit Hamilton for a second time for the medium tyre, which saw him close up in the final 20 laps to eventually overtake Verstappen for the lead with four laps left to run in the race.
Verstappen then pitted late on after he had lost the lead for a fresh set of soft tyres to secure the fastest lap of the race.
Hamilton and Verstappen were seemingly in a race of their own, as Sebastian Vettel, who secured the final spot on the podium by making a late overtake on teammate Charles Leclerc, was a minute behind.
Valtteri Bottas was put out of contention for the win after he made contact with Leclerc in the opening phase of the race, forcing him into an early pit stop for a new front wing.
The Finn battled back through the field to secure an eighth-place finish, but loses out in the championship battle, with Verstappen now right on his tail for the second spot.
Carlos Sainz produced another strong drive for McLaren, as he crossed the line in fifth place to secure another eight points for the Woking squad.
Pierre Gasly, who started the race from sixth place, dropped back a number of positions at the start, managed to recover to cross the line in that position - albeit a lap down on Hamilton and Verstappen.
Kimi Raikkonen finished inside the top ten once more for Alfa Romeo, ahead of his compatriot Bottas.
Lando Norris, who was running behind his teammate Sainz early on in the race, had a slow pit stop which saw him drop down the order and eventually cross the line in ninth.
Alexander Albon picked up the final point for Toro Rosso, after being involved in a close tussle with teammate Danil Kvyat on lap 14 of the race - a battle which Kvyat came out on top in.
However, the Russian driver would eventually end up in 15th place, one week on from his podium finish at the German Grand Prix.
Hamilton now holds a 62 point lead in the championship over Bottas, who himself is only seven points in front of Verstappen for second in the championship.