Jorge Lorenzo was unstoppable en route to a sixth win of the season at Aragon to close in on points leader Valentino Rossi, helped by an early exit for poleman Marc Marquez.
Lorenzo made the perfect getaway from second on the grid to lead into Turn 1, followed by Andrea Iannone and Marquez, who had looked in good shape for the win after leading morning warm-up.
But, after quickly dispatching Iannone for second, Marquez lost the front end of his Repsol Honda at Turn 12 on the second lap, winding up in the gravel and recording his fifth non-finish of the season.
“I can only apologise to the fans and to the team,” said Marquez afterwards. “It was my mistake, and I have to accept that.
“When things are not going right, everything happens in the same year. I can't say anything. I simply need to learn from this error and to apologise to the team.”
That left Lorenzo with a comfortable lead over Dani Pedrosa and Rossi, both of whom wasted little time in dispatching Iannone, the Ducati rider still struggling with a dislocated shoulder.
After 10 laps, Lorenzo had stretched his lead to three seconds, and with Pedrosa and Rossi becoming embroiled in a thrilling scrap for second in the latter stages, he took the chequered flag by a margin of 2.6s, managing the gap the late on.
"As always I made a good start, and my strategy was to ride at the maximum, and it worked because Marc had to ride at the maximum to keep up.
"When I saw he crashed on my pitboard, I breathed again, but I had to keep pushing to maintain the distance."
After following in Pedrosa’s wheeltracks for much of the race, Rossi made his first move on the sole remaining works Honda rider with five laps to go at Turn 4, but failed to make it stick.
The Italian made another attempt on the following lap at Turn 1, Pedrosa cutting back at Turn 2 to regain the palace, a scenario that repeated itself at the start of the penultimate tour.
On the final lap, Rossi dived for the inside at Turn 5, clearing Pedrosa, before the Spaniard went back on the attack to immediately grab the place back - muscling Rossi wide in the process.
Rossi made one final lunge, but it was in vain, settling for third place behind Pedrosa and allowing Lorenzo to reduce the gap at the top of the standings to 14 points with four rounds remaining.
"I tried everything, but Dani was able to overtake me again," said Rossi. "After I try another time, and he was able to come back.
"But I'm happy, it's good to be on the podium and compared to practice we improved a lot our pace."
Ducati riders Andrea Iannone and Andrea Dovizioso completed the top five, the latter rising from a lowly 13th place on the grid after a dismal qualifying.
Tech 3 Yamaha rider Pol Espargaro held fifth behind Iannone in the early stages, but fell to 10th when he ran wide early on, promoting Dovizioso to the place ahead of Bradley Smith.
But Smith later went off track trying to pass Dovizioso, dropping him to eighth at the finish behind Aleix Espargaro's Suzuki and Cal Crutchlow's LCR Honda.
Pol Espargaro had to settle for ninth, with Yonny Hernandez completing the top 10 for Pramac Ducati after teammate Danilo Petrucci crashed in the early stages.
Eugene Laverty meanwhile finished as top Open rider for Aspar Honda, successfully converting his class pole.
|1||Jorge Lorenzo||Movistar Yamaha MotoGP||41:44.933|
|2||Dani Pedrosa||Repsol Honda Team||+2.683|
|3||Valentino Rossi||Movistar Yamaha MotoGP||+2.773|
|4||Andrea Iannone||Ducati Team||+7.858|
|5||Andrea Dovizioso||Ducati Team||+24.322|
|6||Aleix Espargaro||Team Suzuki ECSTAR||+24.829|
|7||Cal Crutchlow||CWM LCR Honda||+25.367|
|8||Bradley Smith||Monster Yamaha Tech 3||+25.503|
|9||Pol Espargaro||Monster Yamaha Tech 3||+26.452|
|10||Yonny Hernandez||Pramac Racing||+43.889|
|11||Maverick Viñales||Team Suzuki ECSTAR||+44.255|
|12||Scott Redding||Estrella Galicia 0,0 Marc VDS||+48.176|
|13||Alvaro Bautista||Aprilia Racing Team Gresini||+49.755|
|14||Eugene Laverty||Aspar MotoGP Team||+50.271|
|15||Nicky Hayden||Aspar MotoGP Team||+50.364|
|16||Hector Barbera||Avintia Racing||+50.722|
|17||Loris Baz||Athinà Forward Racing||+51.997|
|18||Stefan Bradl||Aprilia Racing Team Gresini||+53.406|
|19||Jack Miller||CWM LCR Honda||+56.859|
|20||Mike di Meglio||Avintia Racing||+59.607|
|21||Toni Elias||Athinà Forward Racing||+1:15.237|
|R||Karel Abraham||AB Motoracing|
|R||Danilo Petrucci||Pramac Racing|
|R||Alex de Angelis||Octo IodaRacing Team|
|R||Marc Marquez||Repsol Honda Team|