Marc Marquez overcame an early error to win the Aragon Grand Prix for a third time and extend his lead over nearest rival Valentino Rossi in the MotoGP world championship standings.
Two-time premier-class world champion Marquez qualified on pole for Sunday's race, but soon slipped to fifth after a mistake at turn seven in the opening stages.
However, the Repsol Honda rider duly worked his way back to the front of the field and ultimately triumphed comfortably as Jorge Lorenzo (+2.740 seconds) beat Movistar Yamaha team-mate Rossi (+5.983secs) to second.
Marquez now leads the championship by 52 points from Rossi, who had beaten the 23-year-old in the previous four races, with Lorenzo a further 14 back in third. Only four rounds of the season remain.
Victory for Marquez - which put him level with the great Mick Doohan on 54 wins - ended a remarkable run that had seen the previous eight events won by eight different riders.
VINALES QUICK OFF THE MARK
Maverick Vinales was the early pace-setter on Sunday, the Suzuki Ecstar rider quickly seizing first place before reclaiming the lead for a second time thanks to Marquez's mistake.
However, Vinales soon faded and was passed by Rossi, Marquez and Lorenzo prior to the halfway stage of the race.
LORENZO PREVAILS IN LATEST YAMAHA TUSSLE
After Marquez had regained control of proceedings and opened up a healthy lead, attention switched to the duel for second between Lorenzo and Rossi.
The relationship between the Yamaha team-mates has come under the microscope after they disagreed over an overtaking manoeuvre Rossi pulled off at Misano last time out.
On this occasion, a fascinating battle was brought to an end when Rossi ran wide with two laps remaining, effectively handing second place to Lorenzo.
HAYDEN CLAIMS POINT ON RETURN TO GRID
Nicky Hayden was back in action on Sunday, the 2006 world champion deputising for injured Marc VDS rider Jack Miller.
Hayden, who departed MotoGP at the end of last season to race in the Superbike World Championship, was able to claim 15th, the final point-earning place, on his temporary return.
1. Marc Marquez (Repsol Honda) 41 minutes, 57.678seconds
2. Jorge Lorenzo (Movistar Yamaha) +2.740secs
3. Valentino Rossi (Movistar Yamaha) +5.983secs
4. Maverick Vinales (Suzuki Ecstar) +8.238secs
5. Cal Crutchlow (LCR Honda) +13.221secs
6. Dani Pedrosa (Repsol Honda) +17.072secs
7. Aleix Espargaro (Suzuki Ecstar) +18.522secs
8. Pol Espargaro (Monster Yamaha Tech 3) +19.432secs
9. Alvaro Bautista (Aprilia Racing Team Gresini) +23.071secs
10. Stefan Bradl (Aprilia Racing Team Gresini) +27.898secs
Marc Marquez - 248 points
Valentino Rossi - 196 (+52)
Jorge Lorenzo - 182 (+66)
Dani Pedrosa - 155 (+93)
Maverick Vinales - 149 (+97)
Round 15 of 18 takes place at Japan's Twin Ring Motegi - a venue where Pedrosa has triumphed in three of the last five seasons, either side of two wins for Lorenzo.