Honda's Marc Marquez has ended MotoGP's streak of eight different winners and moved a big step closer to taking his third world title with victory at Spain's MotorLand Aragon circuit.
The Spaniard, who now has a 52-point advantage over Yamaha's Italian Valentino Rossi with four races remaining, started on pole but almost fell on the third lap before coming back through the field from fifth.
Spaniard Jorge Lorenzo, Yamaha's reigning world champion, finished second.
Rossi had to settle for third place after leading until Marquez passed him 12 laps from the end.
Marquez now has 248 points to Rossi's 196 and, with 25 points for a victory, the 23-year-old is on course to wrap up the championship with two races to spare at Australia's Phillip Island track on October 23.
The past eight MotoGP races had been won by different riders, a first in the top category of grand prix motorcycling, and Marquez's victory, his fourth of the campaign, was his first since Germany in July.