The Briton's fourth win in five seasons at the Circuit of the Americas was his first from a pole position start in Texas and ended a barren and frustrating stretch dating back to Germany in July.
Rosberg, who has won nine races this year to Hamilton's seven, took second place 4.5 seconds behind after dropping back to third at the start before events lent the German a helping hand.
Australian Daniel Ricciardo, who had seized second at the start, was third for Red Bull but his Dutch team mate Max Verstappen failed to finish after reporting "something hitting the engine".
Rosberg's advantage means he can still take his first title without having to win again this season.