Danilo Petrucci sprang an "unbelievable" surprise to hold off rookie Alex Marquez and win the rain-hit French MotoGP at Le Mans on Sunday.
Home favourite Fabio Quartararo, supported by 5,000 fans allowed in to the Bugatti circuit under strict Covid-19 protocols, held onto the championship lead despite struggling from pole to take ninth.
Petrucci, riding for Ducati, won for only the second time from 146 MotoGPs. The 29-year-old was the seventh different winner of the nine races staged so far in this coronavirus-disrupted campaign.
"Unbelievable! I can't understand what I've just done" beamed the Italian who joins KTM's Tech 3 team next season.
"I've waited so long for this win. When the rain came I thought 'it's not possible' but I've always been good in the wet."
Quartararo may have failed in his bid to become the first Frenchman to win in the premier category on home soil since the championship was launched in 1949.
But the 21-year-old Yamaha-SRT rider can take comfort from extending his lead by two points to 10 in the world title battle over Joan Mir, who came in 11th.
The MotoGP crown is there for the taking in the absence of Marc Marquez, the six-time champion who has been hors combat since suffering a fractured arm in an opening-race fall.
As rumours swirled around the track that Marquez may return at Aragon next weekend his younger brother Alex was performing heroics to chase home Petrucci for the factory Honda team's first podium of the season.
The rain which hit the circuit just before the start made life difficult for the riders especially veteran Valentino Rossi, who slithered out of contention on turn three on the opening lap.
Others to crash out were Alex Rins, when fighting for the lead, British duo Bradley Smith and Cal Cathlow, and Quartararo's teammate Franco Morbidelli.
Petrucci mastered the conditions perfectly, and apart from a fleeting moment when he was passed by Andrea Dovizioso with nine laps to go, always looked in command.
With five races remaining Quartararo leads the championship on 115 points, with Mir on 110 and Dovizioso three points adrift in third place.