Danilo Petrucci won the French Grand Prix ahead of podium debutant Alex Marquez, but the leading contenders for the MotoGP title all struggled to make an impact at a soggy Le Mans on Sunday.
Petrucci claimed just the second win of his career in the premier class, coasting home in the closing laps following a titanic tussle for much of the race.
Polesitter Fabio Quartararo slipped back in the early stages but did extend his overall lead in the championship standings by finishing ninth. Nearest rival Joan Mir had to settle for 11th place, with Maverick Vinales sandwiched between the pair.
Rain had delayed the start but, once proceedings began, Ducati riders dominated in the wet conditions, at one stage threatening a 1-2-3 result.
Petrucci, Andrea Dovizioso and Jack Miller were those involved at the head of the field, eventually joined by Suzuki Ecstar's Alex Rins to seemingly set the platform for a four-way battle to the finish.
However, Miller veered off the track with eight laps remaining, dropping him down the field. The Australian was forced to retire soon after, much to his obvious frustration once he returned to the pits.
Rins' hopes did not last much longer, as a slip at the first chicane effectively ended his bid for victory. While able to get back on the bike and resume racing, he finished 16th.
The sudden developments cleared the way for Petrucci - who is heading to KTM next year - to become the seventh different rider to win in the 2020 season, a much-needed success in what has been an otherwise difficult year for the Italian.
Marquez, meanwhile, produced a dazzling ride to move from his starting position at the back of the pack to second, easily his best result in a debut campaign for a Repsol Honda team minus the services of his injured brother, Marc.
Pol Espargaro denied Dovizioso third place, the latter having to hold off Johann Zarco to take fourth. Miguel Oliveira was sixth, ahead of Takaaki Nakagami, with Stefan Bradl a distant eighth.