Hamilton had little difficulty converting his pole position into victory, losing the lead only briefly during an unexpectedly early pit stop window.
Vettel attempted to take advantage of the Mercedes’s old tyres late in the race, but the Briton had more than enough pace in hand to control the gap to the chequered flag.
“My engineers always talk about stopping super early,” Hamilton said. “Once again they were calculated and correct.
“That’s really why we have to put so much trust in those guys. A big thank you to Mercedes and all the team.”
Vettel regretted that he couldn’t reach Hamilton before the end of the race - his last victory came in August’s Belgian Grand Prix - but the German admitted he was ready to turn his focus to mounting another title tilt in 2019.
“I tried everything until the last lap today,” he said. “I really enjoyed catching a little bit, but I think he controlled the pace at the front.
“A long year, a lot of races - I think out whole team will try to come back strong and give him a harder run next year.”
Red Bull Racing’s Max Verstappen finished third to claim fourth in the drivers’ championship standings ahead of Valtteri Bottas - just reward after recovering from a poor start.
“It was not an easy race,” he said.” I had a problem off the start-actually the launch was good by my engine went into a safety program.
“In the end of course very happy to be third.”
Verstappen dropped to ninth after his botched launch, but Sauber’s Charles Leclerc was able to capitalise, passing not only the Dutchman but Daniel Ricciardo too to take fifth place.
The Australian attempted to fight back, but the race was neutralised for an enormous crash for Renault’s Nico Hulkenberg.
The German was battling Romain Grosjean for seventh place when he closed the door on the Haas driver on the apex of turn nine, leaving the Frenchman with nowhere to go. The two collided awkwardly on the off-camber corner, flipping Hulkenberg into a barrel roll and pitching his car into the outside barrier.
The marshals reacted quickly to extinguish an exhaust fire and right the car, allowing the Nico to extract himself from the car and walk away from the crash unscathed.
The race resumed after five laps. Verstappen began his recovery drive in the lower reaches of the top 10, but the race was neutralised again, this time under a virtual safety car triggered by Kimi Raikkonen’s stopped Ferrari on the start-finish straight.
The Finn’s race was halted by electrical problems, ending, bringing Raikkonen’s Ferrari career to an inauspicious close.
Race leader Hamilton took the opportunity to pit under recued speed, switching to the supersoft tyre for a 47-lap stint to the end of the race. He emerged behind Verstappen and Ricciardo in fourth and third respectively, and though he fought hard to regain places on lap nine once racing resumed, he was unable to find a way past.
Meanwhile Vettel was looking for a way past second-placed Valtteri Bottas, and Ferrari brought him in on lap 15 for new supersofts to attempt an undercut - but the strategy was undone by a slow 3.6-second stop.
Compounding matters was that the German momentarily fell behind Force India’s Esteban Ocon, losing him more time on his out-lap, which meant Bottas had little trouble covering the strategy with a lap-16 stop to retain position ahead of the Ferrari.
That left Ricciardo in the lead with Verstappen in second. The Dutchman stopped on lap 17 for a new set of supersofts, dropping to fifth behind Vettel, but Ricciardo was left out until the end of lap 33 to allow him a more aggressive final stint on fresh rubber.
He emerged from pit lane on lap 34 with a new set of supersoft tyres just eight seconds behind Verstappen and 17 seconds off the lead, and the Australian immediately began making inroads on both margins.
Up the road Bottas appeared to be struggling with his brakes. A lock-up at turn five allowed Vettel past into second place, and before long Verstappen had attached himself to the Mercedes’s gearbox to pressure him for the final podium place.
The Dutchman forced his way into third place on lap 38, by which time Ricciardo had joined the party. The Australian put himself past the Finn and into fourth place on the following lap.
Together the Bulls bore down on Vettel and Hamilton at around half a second per lap, but as their tyres aged, their pace began to temper, and they were forced to settle for third and fourth. Bottas finished fifth after a late precautionary pit stop.
Carlos Sainz finished at the head of the midfield in seventh in his final race for Renault ahead of his 2019 McLaren switch, and Sauber’s Charles Leclerc, who will transfer to Ferrari next season, kept Force India’s Sergio Perez at bay by half a second.
Romain Grosjean and Kevin Magnussen finished ninth and 10th to claim the final three points for Haas.
Don’t forget to listen to Live89.5 each and every Saturday at 9am and 5pm for the Box of Neutrals radio show.