Defending champion Marc Marquez won the Aragon MotoGP on Sunday to take a 16-point lead in the world championship standings.
Honda team mate Dani Pedrosa was second and Jorge Lorenzo third for Ducati.
Valentino Rossi, making a remarkable comeback barely three weeks after suffering a broken leg, finished fifth on his Yamaha after lying second earlier on.
Team mate Maverick Vinales, who started on pole, was fourth and Aleix Espargaro of Aprilia sixth.
Briton Cal Crutchlow was in contention for a top-six place but crashed and had to retire on lap 17.
Spaniard Marquez started only fifth but improved on a slow start and steadily made up ground.
By winning with four rounds remaining he was able to take a clear lead in the standings as Andrea Dovizioso, previously the joint leader, managed only seventh place.
Marquez, who also won in San Marino two weeks ago, now has 224 points, Dovizioso 208 and Vinales 196.
The next race is the Japan Grand Prix in Motegi on Oct. 15.