Marc Marquez closed on the 125cc title by taking a staggering win in a rain-interrupted race at Estoril - despite crashing during the stoppage.
His main championship rival Nico Terol had to settle for second, while Pol Espargaro's chances ended as a tyre gamble failed to pay off.
Marquez had an incredible afternoon, beginning with a stroke of luck on the grid when seventh-place starter Tomoyoshi Koyama had to start from the pits - giving the points leader a clear run from 11th, which he made good use of to charge through to third by Turn 3.
He then passed Bradley Smith for second and closed right up behind leader Terol when the Aspar rider ran slightly wide as the drizzle began to fall.
The red flag came shortly afterwards as the rain intensified, but the shower soon passed and the track dried rapidly.
But it was still damp for the reconaissance laps, and Marquez was caught out and crashed at the final corner. He got the bike back to the pits for hurried repairs, but could not get out before the pits were closed, so had to start from last of the 17 bikes fit to take the restart.
That proved little impediment to Marquez though, as he scorched past six rivals off the line, took six around the outside of the first corner, and then completed the first lap of the restarted race already up to third behind Terol and Smith, with the latter soon despatched as well.
Smith did briefly get back ahead of Marquez, and then fought mightily to stay in front, but Marquez was too fast and eventually retook second - before surging past Terol as well as they started the final lap.
Terol had one last shot - diving down the inside at Turn 7, only to run wide. He could not get back around the Ajo Derbi and had to settle for second, leaving him 17 points behind with 25 available in the Valencia finale next weekend.
Having run only fifth before the stoppage, Espargaro gambled on wets for the restart. He soon realised it was the wrong choice as he slumped to 10th.
Jonas Folger took fourth, with Luis Salom a career-best fifth. Front row starters Alberto Moncayo and Danny Webb were only sixth and ninth at the end of part two - Moncayo having fallen to the midfield with a poor start to the original race, and then crashed just as the red flag was shown. He was able to get back and reclaim his grid spot for the restart.
Behind Randy Krummenacher, Efren Vazquez was eighth despite being one of many crashers in part one. Sandro Cortese had the most frightening incident - falling at Turn 1 following a near-miss with Espargaro, then being knocked back down as Simone Grotzkyj, Danny Kent, Adrian Martin and Louis Rossi tangled, fell and skated into Cortese's wreckage. Fortunately all five were able to walk away.
Pos Rider Bike Time/Gap 1. Marc Marquez Derbi 16m27.878s 2. Nicolas Terol Aprilia + 0.150s 3. Bradley Smith Aprilia + 0.212s 4. Jonas Folger Aprilia + 18.378s 5. Luis Salom Aprilia + 19.387s 6. Alberto Moncayo Aprilia + 22.505s 7. Randy Krummenache Aprilia + 26.699s 8. Efren Vazquez Derbi + 26.703s 9. Danny Webb Aprilia + 31.503s 10. Pol Espargaro Derbi + 40.823s 11. Jakub Kornfeil Aprilia + 47.006s 12. Simone Grotzkyj Aprilia + 48.773s 13. Alessandro Tonucci Aprilia + 54.418s 14. Luigi Morciano Aprilia + 1m02.234s 15. Zulfahmi Khairuddin Aprilia + 1m15.433s Retirements: Robin Barbosa Aprilia 1 lap Retired during part one: Sandro Cortese Derbi Esteve Rabat Aprilia Johann Zarco Aprilia Adrian Martin Aprilia Sturla Fagerhaug Aprilia Danny Kent Lambretta Louis Rossi Aprilia Tomoyoshi Koyama Aprilia Marcel Schrotter Honda Lorenzo Savadori Aprilia Jasper Iwema Aprilia Luca Marconi Aprilia