Repsol Honda's Dani Pedrosa barely won the USGP, spoiling a big lead on the final lap to hold off Valentino Rossi by 0.344 seconds. Jorge Lorenzo was third.
Pedrosa led every lap, taking the lead in turn one and never relenting.
Lorenzo made a move on Rossi in turn 11 with five to go, but could not make it stick and he dropped back.
The Ducatis finished next, with Nick Hayden getting his best finish of the year in 5th place.