Max Verstappen holds off Hamilton for 50th career F1 win as Norris rounds off podium
Mercedes driver Hamilton finished second with McLaren's Lando Norris (23) third at the Circuit of the Americas in Austin, Texas.
The victory was Verstappen's third in a row in Austin and 15th in 18 races so far this year, equalling with four to spare the record the Dutchman set last year for most wins in a single season.
Dominant Red Bull and Verstappen have already secured both the constructors' and drivers' titles.
"The whole race, I was struggling a lot with the brakes," said Verstappen after one of his closest wins of the year. "You could see it was very close to the end."
Norris, lining up on the front row, seized the lead from pole-sitter Charles Leclerc (26) into the first corner but his hopes of taking a first win in his 100th start had faded by the half distance.
Verstappen was fifth by the end of lap one and moved through the field, starting on mediums and pitting for more on lap 17, using the DRS drag reduction to take the lead from Norris on the 28th of 56 laps.
Verstappen did not just disappear into the distance, however, with the champion's brake issues giving Mercedes hope that they might be able to reel him in with an upgraded car.
Hamilton, on fresher mediums on the final stint with Verstappen on hards, started the last lap just 1.8 seconds behind after being 5.3 adrift when he passed Norris for second with seven laps remaining.
"We were catching them towards the end and I was hopeful but we needed some more laps," said Hamilton.
Ferrari's Carlos Sainz (29) was fourth with Red Bull's Sergio Perez (33) fifth and Leclerc sixth.
George Russell (25) was seventh for Mercedes ahead of Alpine's Pierre Gasly (27), Aston Martin's Lance Stroll (24) and AlphaTauri's Yuki Tsunoda (23), who also took a bonus point for fastest lap right at the finish.
Verstappen increased his unassailable lead over Mexican Perez to a whopping 228 points.
Alpine's Esteban Ocon (27) was the first retirement, his race ending on lap seven after a first lap collision with McLaren's Oscar Piastri (22).
Australian rookie Piastri was then retired by his team four laps later.
The Aston Martins of Fernando Alonso (42), who retired with a rear suspension failure, and Stroll and the two Haas cars of Kevin Magnussen (31) and Nico Hulkenberg (36) started from the pit lane after overnight changes.