Franco Morbidelli eased to his second MotoGP victory from Alex Rins in the Teruel Grand Prix to strengthen his championship charge, while Joan Mir extended his points lead in third.
Morbidelli's superb Sunday came as both factory counterparts Maverick Vinales and Fabio Quartararo struggled to seventh and eighth respectively, while Ducati's Andrea Dovizioso could only salvage 13th from 17th on the grid.
Takaaki Nakagami got his Honda into the lead from pole despite running wide at the first corner, with Morbidelli and Rins tucking in behind the LCR rider.
But the Japanese rider's hopes of a dream Teruel GP were dashed at Turn 5 when he crashed, releasing Morbidelli into the lead, with Johann Zarco moving up third on the Avintia Ducati.
Petronas SRT's Morbidelli and Rins were quick to break away from Zarco, while Honda's Alex Marquez began to make forward momentum on his hard front tyre - the only rider to pick that option - by relegating a struggling Quartararo to seventh.
Marquez's charge for a third-straight podium came to an end at Turn 2 on lap 14 when he crashed out of fifth.
The gap between the top two and Zarco was over seven tenths by the fourth lap, with Rins unable to use the early grip advantage from his soft front tyre to get ahead of Morbidelli.
Morbidelli kept his gap to Rins steady at around half a second in the early stages and would begin to ease further away as his medium front and rear tyre held its life.
By lap 18, Morbidelli's lead was stabilised at seven tenths, with this gap extending to over a second in the final four tours to force Rins to surrender his charge.
Morbidelli went to the grid pre-race on the soft rear tyre, but made a last-minute change to the medium and it paid dividends as he came under no threat to win by over two seconds.
Mir jumped up from 12th to fifth on the opening lap, with the Suzuki rider cutting through to third ahead of Zarco on lap 11.
But the Suzuki rider was already 2.6s behind his team-mate Rins and Morbidelli in the lead, and was unable to close down the gap.
However, another third at Aragon was still good enough for him to extend his championship lead to 14 points over Quartararo, while Morbidelli's win puts him 25 points off Mir.
SRT rider Quartararo was on the same combination of tyres his team-mate Morbidelli, but had no pace to run with the leaders and was forced into race of damage limitation.
The Frenchman crossed the line in eighth behind Vinales, whose deficit in the championship now stands at 19.
Vinales lost out late on to Miguel Oliveira on the Tech3 KTM, who missed out on taking fifth from Zarco on the run to the line by just 0.038s.
Oliveira ensured two KTM's made it into the top six after Pol Espargaro charged through to fourth, while Iker Lecuona aggressively seized ninth on his Tech3 RC16 to match the best result of his rookie campaign.
Danilo Petrucci completed the top 10 on the leading factory Ducati ahead of Cal Crutchlow (LCR) and Honda's Stefan Bradl, who beat Dovizioso in the closing stages after the Italian ran wide at Turn 8 on lap 17.
Dovizioso's struggles mean he is now 28 points behind Mir, with Rins four points further back in sixth with three rounds to go.
Tito Rabat (Avintia) and Bradley Smith took the final points, while a late mechanical drama for Aleix Espargaro - who was hounding Quartararo for eighth having mugged Dovizioso for ninth on lap 17 - ruled him out.
Francesco Bagnaia compounded a miserable day for Pramac with a mechanical-induced retirement, after team-mate Jack Miller was wiped out by KTM's Brad Binder on the opening lap.
MotoGP Teruel Grand Prix - 23 lap
Get unlimited access to the world’s best motorsport journalism with Autosport Plus