Marc Marquez reclaimed the 125cc championship lead with another unstoppable performance as he took his eighth victory of the season in Malaysia.
His title rivals Pol Espargaro and Nico Terol completed the podium and remain right with Marquez in the points, but once again they were unable to match his pure speed in the race.
Given his pace all weekend, it looked like polesitter Marquez was in a position to dominate when he reached Turn 1 with his lead intact.
But Terol grabbed first place on the inside at Turn 4 on the opening lap, and Espargaro and Bradley Smith then pounced as well, with Marquez pushed back to fourth by the end of a frantic two minutes of place-swapping.
Marquez soon shook off Espargaro and Smith and then hunted down Terol, who had made a slight break. But as the Ajo Derbi closed in on the Aspar Aprilia, Espargaro's Tuenti Derbi tagged along with it - and although Marquez grabbed the lead back on lap five, just a lap and a half later he was back down to third behind his title rivals after running wide at Turn 1.
While this trio squabbled, their team-mates joined in the fun - Bradley Smith (Aspar), Sandro Cortese (Ajo) and Efren Vazquez (Tuenti) making it a six-way fight.
But just as it looked like things were going to get very complicated for Marquez, he calmly picked his way back to the front and started pulling away once more, eventually winning by 2.3 seconds.
Espargaro beat Terol to second, with Vazquez emerging in fourth as his battle with Smith and Cortese went all the way to the line.
Esteve Rabat was a lonely seventh, followed by a photo finish for seventh between Tomoyoshi Koyama, Luis Salom and Randy Krummenacher.
Danny Webb was in this battle as well until he crashed out. The Briton was already riding with a broken hand, and had to be stretchered away after tumbling violently through the gravel in today's high-speed incident.
Pos Rider Bike Time/Gap 1. Marc Marquez Derbi 40m29.035s 2. Pol Espargaro Derbi + 2.341s 3. Nicolas Terol Aprilia + 3.656s 4. Efren Vazquez Derbi + 6.780s 5. Bradley Smith Aprilia + 7.133s 6. Sandro Cortese Derbi + 7.297s 7. Esteve Rabat Aprilia + 26.648s 8. Luis Salom Aprilia + 29.339s 9. Tomoyoshi Koyama Aprilia + 29.339s 10. Randy Krummenache Aprilia + 29.365s 11. Johann Zarco Aprilia + 36.329s 12. Alberto Moncayo Aprilia + 37.545s 13. Adrian Martin Aprilia + 51.262s 14. Jakub Kornfeil Aprilia + 54.634s 15. Marcel Schrotter Honda + 54.635s 16. Zulfahmi Khairuddin Aprilia + 58.581s 17. Louis Rossi Aprilia + 1m15.218s 18. Marco Ravaioli Lambretta + 1m15.595s 19. Tommaso Gabrielli Aprilia + 2m00.178s Retirements: Danny Webb Aprilia 11 laps Danny Kent Lambretta 11 laps Jasper Iwema Aprilia 7 laps Sturla Fagerhaug Aprilia 6 laps Simone Grotzkyj Aprilia 5 laps Luca Marconi Aprilia 5 laps Lorenzo Savadori Aprilia 3 laps