Albert Arenas was gifted a debut Moto3 victory after initial first-across-the-line rider Fabio Di Giannantonio was handed a time penalty at Le Mans, while points leader Marco Bezzecchi and Jorge Martin crashed on the final lap
Poleman Martin nailed the start and took a comfortable lead into the first corner, while Prustel GP's Jakub Kornfeil slotted into second ahead of Marcos Ramirez and Bezzecchi.
Kornfeil took the lead briefly from Martin at the end of lap two, but the Gresini rider struck back immediately. Kornfeil tried again on lap four, but was repelled by Martin, with Bezzecchi passing his teammate on the fifth lap.
Just a few corners later, Bezzecchi scythed past Martin at the final corner, with the pair trading the lead for much of the race.
Bezzecchi led Martin as the started the final lap, with Di Giannantonio running third after Leopard's Enea Bastianini crashed out at the last corner at the end of the previous lap.
Bezzecchi held firm as they headed into the final sequence of corners, with Di Giannantonio passing Martin at Turn 11, before launching a successful assault on Bezzecchi's lead at Turn 12.
As Bezzecchi tried to retaliate, he highsided in front of Martin, with the Gresini rider unable to avoid the Italian's stricken KTM.
This promoted Nieto rider Arenas and team-mate Andrea Migno up to the podium places, but a late three-second penalty for Di Giannantonio for cutting the Turn 9 chicane in the closing stages denied the Italian his maiden victory and dropped him to fourth.
This gave Arenas, whose best result in Moto3 previously was eighth, his first win and the first for the Nieto team since 2016, with Migno taking his best result since winning the Mugello race last year.
Ramirez once again found himself promoted to the podium courtesy of a time penalty for Niccolo Antonelli, the SIC58 rider ending up fifth as a result.
Kornfeil also had a time penalty for cutting the Turn 9 chicane early in the 22-lap race and was sixth, though was lucky to even finish after being launched by Bastianini's bike when the Italian crashed in front of him.
Tony Arbolino headed Aron Canet, who recovered from the back of the grid, in seventh, with Tatsuki Suzuki and Jaume Masia completing the top 10.
Despite his crash, Bezzecchi remains in the lead of the championship by four points to Di Giannantonio, while Canet holds onto third ahead of Martin, with the top four now covered by just eight points.