It was a messy start for the champion elect, who has a minor collision with Red Bull’s Max Verstappen at Turn 2.
Hamilton managed to stretch his legs behind the front running Ferrari’s, and was able to make a one-stop strategy work despite pressure from Sebastian Vettel and Valterri Bottas.
The race looked set to be building to a dramatic climax as a number of different strategies were playing out.
Vettel and Bottas completed the podium, with Charles Leclerc in fourth after a slow stop left him out of contention for the podium.
Alex Albon took a strong fifth ahead of Verstappen who fought back from a puncture in the opening laps to finish sixth.
Home star, Racing Point’s Sergio Perez finishes seventh after a late race battle with Renault driver Daniel Ricciardo who came home eighth.
There was drama on the final lap as Toro Rossi’s Daniil Kvyat went for a lunge on the exit of the stadium, tapping the second Renault of Nico Hulkenberg into a spin. A post race penalty dropped the Russian to 11th, promoted Hulkenberg to 10th and the other Toro Rosso of Pierre Gasly jumped up to ninth.
Despite extending his points lead over Bottas, Hamilton will have to wait to claim his sixth world title.