Casey Stoner stretched his championship lead back up to 20 points by chasing down and beating title rival Jorge Lorenzo in the United States Grand Prix at Laguna Seca.
Polesitter Lorenzo had resisted huge pressure from Hondas for the majority of the race, but had to yield to the flying Stoner with six laps to go.
In the opening laps, Lorenzo's Yamaha had had all four factory-spec Hondas on its tail, until Marco Simoncelli crashed his Gresini-run bike out of fifth, and works rider Andrea Dovizioso started falling away in fourth.
It was Dani Pedrosa who chased Lorenzo at first, but as the Spaniard's pace started dropping off around half-distance, Stoner sliced past his team-mate with a bold move into the Corkscrew.
Stoner then set off after Lorenzo, who held on until lap 26 before the Honda got a better exit from the final corner and swept past on the outside approaching Turn 1.
Despite Stoner's pre-race pessimism about his long-run pace, he flew thereafter, pulling away to take his fifth win of 2011 - and his first since Silverstone - in commanding style.
Pedrosa dropped back in third, while Ben Spies recovered from a bad start to bring the second Yamaha through to fourth in his home race, ahead of Dovizioso.
The Ducatis finished nose to tail in sixth and seventh, as Nicky Hayden followed Valentino Rossi closely all the way. Alvaro Bautista had chased them until crashing his Suzuki at Turn 2.
Colin Edwards (Tech 3 Yamaha), Hector Barbera (Aspar Ducati) and Karel Abraham (Cardion AB Ducati) filled the top 10, with Edwards' team-mate Cal Crutchlow crashing early on.
Results - 32 laps: Pos Rider Team/Bike Time/Gap 1. Casey Stoner Honda 43m52.145s 2. Jorge Lorenzo Yamaha + 5.634s 3. Dani Pedrosa Honda + 9.467s 4. Ben Spies Yamaha + 20.562s 5. Andrea Dovizioso Honda + 20.885s 6. Valentino Rossi Ducati + 30.351s 7. Nicky Hayden Ducati + 31.031s 8. Colin Edwards Tech 3 Yamaha + 45.502s 9. Hector Barbera Aspar Ducati + 51.549s 10. Hiroshi Aoyama Gresini Honda + 1m08.850s 11. Karel Abraham Cardion Ducati + 1m09.132s 12. Loris Capirossi Pramac Ducati + 1 lap 13. Toni Elias LCR Honda + 1 lap Retirements: Alvaro Bautista Suzuki 13 laps Ben Bostrom LCR Honda 8 laps Marco Simoncelli Gresini Honda 6 laps Cal Crutchlow Tech 3 Yamaha 3 laps