Hamilton started the race second on the grid, behind his Mercedes team-mate Valtteri Bottas, and the seven-time World Champion fell to P3 early in the race after Verstappen overtook him during the Safety Car restart.
However, he later got past Verstappen and went on to overtake Bottas for the lead of the grand prix.
Verstappen finished the race in P2 and thought he had scored an extra point by setting fastest lap, but a track limits violation saw this lap time deleted and meant that it was Bottas who scored the extra point.
The Finn, who had started the race on pole, was disappointed to cross the finish line in third position, ahead of Sergio Perez and Lando Norris in P4 and P5, respectively.
Charles Leclerc had a clean race to finish sixth in the Ferrari, ahead of the Alpines of Esteban Ocon and Fernando Alonso.
Daniel Ricciardo and Pierre Gasly rounded out the top 10, with Carlos Sainz in the second Ferrari finishing just outside the points despite outqualifying his team-mate on Saturday.