Hamilton ran the longest second stint of any driver after pitting under an early virtual safety car, but remained comfortably clear of Ferrari’s Sebastian Vettel.
Max Verstappen overcame an early engine scare and resisted his charging Red Bull teammate Daniel Ricciardo to finish third and deny the Australian a podium on his final race for the team before switching to Renault next season.
Hamilton held his advantage from pole but the race was neutralised after only half a lap thanks to Hulkenberg’s accident.
The Renault driver attacked Romain Grosjean into Turn 9, the left-hander at the end of the first long back straight, but Grosjean hung on around the outside as he was forced to the edge of the track.
Hulkenberg turned in to the apex of the right-hander that immediately follows and was hit Grosjean’s front-left, which pitched the Renault into a barrel roll.
It came to a rest upside down against the outside barrier, briefly caught fire, and the unhurt Hulkenberg had to wait for trackside staff to arrive and reposition the car before he could extract himself.
Hamilton nailed the restart at the end of the fourth lap to lead teammate Valtteri Bottas by more than a second over the line.
The leader stopped early, on lap seven of 55, when Kimi Raikkonen’s Ferrari switched off exiting the final corner and stopped on the start-finish line, sparking a VSC.
Bottas and Vettel stayed out, with only Charles Leclerc – running a stunning fourth after jumping both Red Bulls on the opening lap and passing Raikkonen’s ailing Ferrari – and seventh-place man Romain Grosjean following Hamilton into the pits.
Bottas, Vettel and Ricciardo extended their stint on ultrasofts and Verstappen tried to make his hypersofts last as long as possible.
Ricciardo and Verstappen were given engine warnings early on by Red Bull but these passed and were traced to “unexpected power unit protection”, suggesting a fail-safe had briefly been erroneously activated.
Bottas pit nine laps after Hamilton and rejoined nine seconds adrift, and although Hamilton complained about his tyres the Briton maintained a relatively comfortable gap.
Hamilton was still six seconds or so clear of Bottas when his teammate lost his grip on second place thanks to some problems under braking.
A lock up at the end of the first long back straight allowed Vettel to steal second on lap 35, and then three laps later a smaller mistake at the same place let Verstappen get a run on Bottas down the second back straight and pass him – with a bit of wheel bumping – through the little chicane that follows.
One lap later Bottas lost another place to Ricciardo, who had led for a while thanks to extending his first stint to lap 33, and Mercedes decided to pit Bottas for fresh tyres after spotting a possible problem after the Verstappen contact.
Though Bottas’s troubles freed up Vettel to attack Hamilton, and hack the gap down to 2.5s at the flag, he never got close enough to trouble the leader.
Victory was Hamilton’s 11th of the season, matching his best-ever haul from a single campaign.
By keeping Ricciardo at bay for third, Verstappen was able to nick ahead of Bottas for fourth in the drivers’ championship.
Bottas finished his winless season with a distant fifth, ahead of Carlos Sainz.
Sainz ended his time with Renault with a best-of-the-rest victory earned by virtue of a long first stint, that allowed him to overhaul Leclerc’s Sauber.
Leclerc had to survive pressure from Racing Point Force India driver Sergio Perez to hold onto seventh, while Haas duo Grosjean and Kevin Magnussen completed the top 10.
Fernando Alonso finished just outside the top 10 on his likely final F1 appearance, despite picking up a five-second penalty late on for a track limits offence.
The Spaniard will not race for McLaren next season.
Three drivers joined Hulkenberg and Raikkonen in not making it to the finish.
Marcus Ericsson’s stint with Sauber ended in retirement after running in the points early on, before Esteban Ocon and Pierre Gasly retired within two laps of each other with smoke coming from their respective cars.