Seven-time world champion Hamilton was second for Mercedes, holding off Red Bull's Sergio Perez who became the first Mexican to stand on his home podium.
The win was Verstappen's eighth of the season, and first in America, but one he had to sweat for in front of a sell-out 140,000 crowd.
The 24-year-old Red Bull racer also gave the seven-time world champion, the most successful driver of all time, a single digit salute as the Mercedes accelerated away on a hot and humid Texas afternoon at Austin's Circuit of the Americas.
Red Bull's Max Verstappen finished second to take back the Formula One world championship lead.
The 23-year-old dominated from pole position to take the chequered flag in the first Dutch GP for 36 years, beating Mercedes' seven-time world champion Lewis Hamilton and Valtteri Bottas.
The Mercedes driver won despite a 10-second penalty for a controversial first lap collision that sent Red Bull rival Max Verstappen crashing out of the race.
Mercedes' seven-time world champion Hamilton finished a distant fourth, with teammate Valtteri Bottas second and McLaren's Lando Norris third, as Red Bull chalked up their fifth win in a row.
Verstappen led from start to finish at Austria's Red Bull Ring, with seven-time world champion Hamilton second for Mercedes.
The 23-year-old, now level with Hamilton on three wins for the season, also set the fastest lap and has 131 points to Hamilton's 119.
Lewis Hamilton finished second for Mercedes and retained the lead in the championship by a single point.