Suzuki rider Alex Rins beat Valentino Rossi to score his first MotoGP win, after Marc Marquez's unbeaten Austin run ended with a crash while holding a healthy lead.
Honda rider Marquez converted pole into an early lead, and looked well on course for a seventh consecutive win at the Circuit of the Americas as he stretched his advantage in the early laps.
He had eased almost four seconds clear of Rossi's Yamaha in second when he suffered a low-side crash at the Turn 12 left-hander on lap nine of 20, ending his race.
Marquez's demise handed Rossi a slim lead over the Rins, but the MotoGP legend - who has not won since Assen in June 2017 - was powerless to shake off the Suzuki rider.
Rins managed to slip past on lap 17 at the Turn 7 downhill left-hander to take the lead.
Rossi tried to retaliate at the tight corner at the end of the back straight, but ran wide, and from then on he was never able to get close enough to mount another assault on Rins.
The 23-year-old Spaniard eventually crossed the line with just 0.462s in hand to score Suzuki's first premier class win since Maverick Vinales' 2016 triumph at Silverstone.
Eight seconds behind the lead pair, Pramac Ducati's Jack Miller nursed fading soft tyres to claim third - marking his first podium finish since his 2016 Dutch TT win.
Andrea Dovizioso recovered to sixth on the opening lap from his lowly 13th grid slot, and managed to take fourth behind Miller and claim the lead of the championship in the process.
Franco Morbidelli took his first top-five finish for Petronas Yamaha, ahead of Danilo Petrucci on the second of the works Ducatis, team-mate Fabio Quartararo and KTM rider Pol Espargaro.
Francesco Bagnaia and Takaaki Nakagami rounded out the top 10.
A miserable day for Honda was compounded by an early crash at Cal Crutchlow at Turn 11, while he was running third behind Rossi, and a mechanical failure for Jorge Lorenzo.
Vinales suffered another race to forget, jumping the start and having to serve a ride-through penalty before recovering to 11th, ahead of Andrea Iannone and Johann Zarco.
Rins' Suzuki team-mate Joan Mir also picked up a penalty for the same infraction as Vinales and ended up out of the points in 17th place.
Aleix Espargaro crashed his Aprilia on the second lap, making him the only non-Honda retirement in the race.
|3||Jack Miller||Pramac Ducati||Ducati||20||8.454s|
|5||Franco Morbidelli||Petronas Yamaha||Yamaha||20||18.021s|
|7||Fabio Quartararo||Petronas Yamaha||Yamaha||20||26.111s|
|9||Francesco Bagnaia||Pramac Ducati||Ducati||20||30.608s|
|10||Takaaki Nakagami||LCR Honda||Honda||20||31.011s|
|14||Miguel Oliveira||Tech3 KTM||KTM||20||44.272s|
|15||Tito Rabat||Avintia Ducati||Ducati||20||44.623s|
|16||Karel Abraham||Avintia Ducati||Ducati||20||44.740s|
|18||Hafizh Syahrin||Tech3 KTM||KTM||20||1m07.683s|
|-||Cal Crutchlow||LCR Honda||Honda||5||Retirement|