Pol Espargaro beat Nico Terol to victory in a spectacular 125cc head to head at Le Mans, as the Spanish duo continued to command this year's championship.
The Tuenti Derbi and Aspar Aprilia riders quickly broke away from the rest of the pack, running in close company and opening up a five-second gap to the battle behind.
Espargaro shadowed Terol for the first 15 laps before making his first pass for the lead. They would swap places three more times in the following laps before Espargaro finally got some breathing space when Terol's penultimate lap attempt at the final corners saw him run slightly wide.
He ran out of time to get back on terms, allowing Espargaro to claim his second win of 2010 with a 0.9s margin.
The fight for third was the most spectacular of the race, as Bradley Smith, Marc Marquez, Efren Vazquez and Sandro Cortese grappled with each other all the way.
Smith held the position going into the closing stages, but Marquez set a new lap record with one lap to go as - despite pain from a shoulder injury - he mounted a final bid to get on the podium.
He slipped ahead when Smith had a slight moment on the last lap, and the Briton's determined attempt to regain the place at the chicane ended up costing him fourth as Vazquez also pounced and forced him wide, while Marquez escaped for third.
Behind Cortese, Esteve Rabat beat Tomoyoshi Koyama to seventh, and Danny Webb emerged at the head of a big group squabbling over ninth.
Pos Rider Bike Time/Gap 1. Pol Espargaro Derbi 41m52.280s 2. Nicolas Terol Aprilia + 0.957s 3. Marc Marquez Derbi + 4.428s 4. Efren Vazquez Derbi + 4.736s 5. Bradley Smith Aprilia + 5.143s 6. Sandro Cortese Derbi + 5.847s 7. Esteve Rabat Aprilia + 11.047s 8. Tomoyoshi Koyama Aprilia + 11.165s 9. Danny Webb Aprilia + 37.808s 10. Luis Salom Aprilia + 39.585s 11. Johann Zarco Aprilia + 40.519s 12. Jasper Iwema Aprilia + 40.817s 13. Jonas Folger Aprilia + 42.149s 14. Randy Krummenacher Aprilia + 44.741s 15. Adrian Martin Aprilia + 46.320s 16. Alexis Masbou Aprilia + 46.503s 17. Alberto Moncayo Aprilia + 46.979s 18. Marcel Schrotter Honda + 59.626s 19. Jakub Kornfeil Aprilia + 59.770s 20. Sturla Fagerhaug Aprilia + 1m04.405s 21. Louis Rossi Aprilia + 1m05.731s 22. Michael van der Mark Lambretta + 1m28.928s 23. Kevin Szalai Honda + 1m47.143s 24. Gregory di Carlo Honda + 1 lap 25. Muhammad Zulfahmi Aprilia + 1 lap 26. Morgan Berchet Honda + 1 lap Retirements: Marco Ravaioli Lambretta 18 laps Riccardo Moretti Aprilia 16 laps Lorenzo Savadori Aprilia 6 laps