Valentino Rossi protégé Celestino Vietti snatched victory in the Moto3 French Grand Prix to reignite his title hopes, while John McPhee's challenge took a huge dent with another crash.
VR46 rider Vietti was the only rider in the field to opt for the harder rear Dunlop tyre despite the exceptionally cool conditions, but grabbed the lead on the penultimate lap and held onto it to take his second win of the season.
Aspar's Albert Arenas got the best launch from second on the grid and took the lead on the run up to the Dunlop chicane, with poleman Jaume Masia following.
Snipers Honda rider Tony Arbolino demoted Masia to second at Musee corner, though the Leopard man quickly regrouped and found his way into the lead at the start of lap three.
Masia would head the pack until lap 11, when he was swallowed up by Arenas, CIP's Darryn Binder and Arbolino into Musee.
Arena's second stint at the front lasted just three laps as Masia once again worked his way into the lead as he, Arenas, Binder and Arbolino went four abreast through the fast first two right-handers on the run up to the Dunlop chicane.
Arbolino briefly took the lead from Masia on lap 17, but the Leopard rider carved through into the Dunlop chicane again.
Binder's hopes of a second-successive victory were dashed on the lap before when his CIP KTM cut out exiting the Chemin aux Boeufs sequence at Turns 9 and 10.
A sluggish start for Petronas Sprinta's McPhee left him with work to do in 10th, but was the unfortunate victim when Jeremy Alcoba crashed his Gresini Honda at Chemin aux Boeufs on lap 18 and left the Scotsman with no place to go.
At the front, Masia led onto the penultimate lap but made a mistake at the Garage Vert double right-hander, which allowed Vietti and Arenas to come through.
Vietti resisted the pressure from the chasing Arbolino, who passed Arenas on the last lap, to lift himself back into championship contention with his first win since August's Styrian GP.
Arenas returned to the top of the standings by six points with his first podium since the Austrian GP in third, with Vietti just 16 points adrift now in third.
Honda Team Asia's Ai Ogura and the erstwhile championship leader struggled until the closing stages, when he managed to lift himself up from 24th on the opening lap to ninth to provide damage limitation against Arenas.
Arbolino's second puts him into third, 20 points behind Arenas, while McPhee is now 37 adrift following his second-successive DNF.
Behind the podium battle, Masia ended up fourth after his late mistakes, with Andrea Migno (VR46) completing the top five.
Ayumu Sasaki got his Tech3 KTM to the chequered flag in sixth ahead of Ajo KTM's Raul Fernandez, with Gresini's Garbriel Rodrigo, Ogura and Carlos Tatay on the Avintia KTM rounding out the top 10.
Moto3 French Grand Prix - 22 laps
|1||Celestino Vietti||SKY Racing Team VR46||37m37.384s|
|2||Tony Arbolino||Rivacold Snipers Team||0.142s|
|3||Albert Arenas||Gaviota Aspar Team Moto3||0.198s|
|4||Jaume Masia||Leopard Racing||0.336s|
|5||Andrea Migno||SKY Racing Team VR46||0.569s|
|6||Ayumu Sasaki||Red Bull KTM Tech 3||0.834s|
|7||Raul Fernandez||Red Bull KTM Ajo||1.361s|
|8||Gabriel Rodrigo||Kommerling Gresini Moto3||1.625s|
|9||Ai Ogura||Honda Team Asia||15.003s|
|10||Carlos Tatay||Reale Avintia Moto3||15.139s|
|11||Sergio Garcia||Estrella Galicia 0,0||15.269s|
|12||Filip Salac||Rivacold Snipers Team||15.381s|
|13||Dennis Foggia||Leopard Racing||15.574s|
|14||Riccardo Rossi||BOE Skull Rider Facile Energy||15.729s|
|15||Stefano Nepa||Gaviota Aspar Team Moto3||17.743s|
|16||Barry Baltus||CarXpert PruestelGP||18.991s|
|17||Jason Dupasquier||CarXpert PruestelGP||19.173s|
|18||Ryusei Yamanaka||Estrella Galicia 0,0||25.148s|
|19||Khairul Idham Pawi||Petronas Sprinta Racing||26.189s|
|20||Yuki Kunii||Honda Team Asia||26.360s|
|21||Maximilian Kofler||CIP - Green Power||26.959s|
|22||Deniz Oncu||Red Bull KTM Tech 3||30.306s|
|-||Niccolo Antonelli||SIC58 Squadra Corse||Retirement|
|-||John McPhee||Petronas Sprinta Racing||Retirement|
|-||Jeremy Alcoba||Kommerling Gresini Moto3||Retirement|
|-||Kaito Toba||Red Bull KTM Ajo||Retirement|
|-||Darryn Binder||CIP - Green Power||Retirement|
|-||Davide Pizzoli||BOE Skull Rider Facile Energy||Retirement|
|-||Tatsuki Suzuki||SIC58 Squadra Corse||Retirement|
|-||Romano Fenati||Sterilgarda Max Racing Team||Retirement|
|-||Alonso Lopez||Sterilgarda Max Racing Team||Retirement|