Toni Elias took his first Moto2 victory in an incredible race at Jerez.
The former MotoGP rider had to claw his way back to the front after running wide while battling with Thomas Luthi a few laps from the finish of the truncated race.
The event had been red-flagged and restarted over 17 laps after a fluid spill caused eight riders to crash on lap two of the original race.
Elias was among the crashers, but was unhurt and fought mightily with Qatar winner Shoya Tomizawa, Luthi, Yuki Takahashi and Kenny Noyes for victory after the restart.
Having recovered from his incident with Luthi, Elias surged back through to the front, and held on in the lead despite running wide at the Dry Sack corner on the last lap. Tomizawa looked set to slip past, but a major wobble as he tried to accelerate out of the turn allowed Elias to stay in front and take victory.
Luthi, who picked his way up to join the lead dice after a low-key start, eventually finished third ahead of Takahashi, Simone Corsi and Sergio Gadea.
Noyes was ultimately pushed back to seventh, but had led on several occasions - once after an incredible third to first dive past Tomizawa and Elias into Dry Sack.
Julian Simon and Gabor Talmacsi completed a lead group of nine riders split by just four seconds at the flag.
Alex de Angelis missed the race after a horrendous crash in the warm-up. The former MotoGP rider suffered bruised lungs and was taken to hospital for further checks.
Pos Rider Bike Time/Gap 1. Toni Elias Moriwaki 29m58.726s 2. Shoya Tomizawa Suter + 0.190s 3. Thomas Luthi Moriwaki + 0.261s 4. Yuki Takahashi Tech 3 + 0.558s 5. Simone Corsi Motobi + 1.449s 6. Sergio Gadea Pons Kalex + 1.496s 7. Kenny Noyes Promo Harris + 2.215s 8. Julian Simon RSV + 2.576s 9. Gabor Talmacsi Speed Up + 3.825s 10. Yonni Hernandez BQR + 6.691s 11. Jules Cluzel Suter + 8.123s 12. Roberto Rolfo Suter + 11.965s 13. Dominique Aegerter Suter + 12.190s 14. Stefan Bradl Suter + 12.295s 15. Anthony West MZ + 12.545s 16. Scott Redding Suter + 12.678s 17. Ratthapark Wilairot Bimota + 13.548s 18. Claudio Corti Suter + 15.642s 19. Axel Pons Pons Kalex + 16.740s 20. Raffaele de Rosa Tech 3 + 19.368s 21. Fonsi Nieto Moriwaki + 20.956s 22. Mike di Meglio RSV + 21.129s 23. Vladimir Ivanov Moriwaki + 31.224s 24. Robertino Pietri Suter + 31.275s 25. Alex Debon FTR + 33.283s 26. Lukas Pesek Moriwaki + 34.090s 27. Bernat Martinez Bimota + 38.705s 28. Karel Abraham RSV + 39.384s 29. Arne Tode Suter + 43.839s 30. Amadeo Llados AJR + 46.896s 31. Valentin Debise ADV + 47.080s 32. Alex Baldolini ICP + 47.216s 33. Yannick Guerra Moriwaki + 47.777s 34. Mashel Al Naimi BQR + 56.595s Retirements: Ivan Moreno Moriwaki 8 laps Niccolo Canepa Scot 8 laps Mattia Pasini Motobi 6 laps Hector Faubel Suter 2 laps Joan Olive Promo Harris 0 laps Andrea Iannone Speed Up 0 laps