Hamilton started from pole position but lost his lead early in the race to Vettel. However, he regained the lead to claim his ninth win of the season and the 62nd of his career.
With just three races left in the season, Hamilton now needs to finish only fifth in Mexico next weekend to claim a fourth title.
“We had a beautiful day. I love this track. I think this track is now my favourite,” said Hamilton.
“At the start it was looking good but quickly we realised we couldn't do the same pace as Lewis. Overall not the result we wanted,” said Vettel.
Hamilton’s Mercedes teammate Valteri Bottas finished fifth to hand Mercedes their fourth consecutive constructors’ crown.
Despite Hamilton’s win, the driver that stood out was Red Bull Racing’s Max Verstappen. The Dutchman, who started at the back of the grid, finished third after sweeping past the Ferrari of Kimi Raikkonen. However, while doing so his car went off the track prompting race stewards to hand him a five-second penalty that demoted him to fourth place.
This meant that Verstappen finished fourth ahead of Bottas. Esteban Ocon, Carlos Sainz, Felipe Massa and Daniil Kvyat were the other top 10 finishers.