Il Gran Premio di Francia lo vince, meritatamente, Jorge Martin. L'iberico della Ducati segue Francesco Bagnaia per tutta la gara poi lo attacca a 8 giri dal termine, portandoselo nel codone fino all'ultimo giro. Il campione del mondo sembrava poter attaccare l'iberico, ma nel concentrarsi su chi aveva davanti, è stato beffato da chi gli era dietro, Marc Marquez, che ancora una volta, dalla 13° posizione, arriva sul podio, secondo. Bagnaia non può essere deluso da una battaglia così bella, ma incassa altri 9 punti di ritardo da Martin e scivola a -38 in classifica generale, dovendosi guardare le spalle da Marquez, ora terzo a due soli punti, appaiato con Bastianini, oggi quarto. Enea, se non fosse stato gravato da un long lap penalty incassato per un sorpasso troppo ottimista su Aleix Espargaro (alla fine 9°), avrebbe anche potuto essere della battaglia, e invece si deve accontentare di essersi messo dietro Maverick Vinales, passato a due giri dal termine e prima moto non proveniente dagli stabilimenti di Borgo Panigale. E Ducati che ha fatto bene anche con Fabio Di Giannantonio, sesto, con Franco Morbidelli, settimo, e con Alex Marquez, decimo. Unica moto non italiana in top ten, all'ottavo posto, la KTM di Brad Binder. A punti finiscono anche Raul Fernandez (Aprilia), Johann Zarco (Honda), Augusto Fernandez (KTM), Takaaki Nakagami (Honda) e Alex Rins (Yamaha). Caduti nei primi giri Pedro Acosta e Marco Bezzecchi, e più avanti Fabio Quartararo (era sesto), Joan Mir e Jack Miller.
LA GARA Al via scatta benissimo Bagnaia, che a differenza della gara sprint prende subito il comando delle operazioni respingendo un assalto del poleman Martin. I due si mettono a guidare un gruppo folto sullo stesso ritmo. Al terzo giro Acosta è fin troppo ottimista nella sua rimonta e, nel tentativo di superare insieme Di Giannantonio e Vinales, scivola e va nella ghiaia. Al giro dopo tocca a Bezzecchi finire nella ghiaia, dopo essere stato passato da Marquez. Il gruppo alle spalle dei primi due, sempre vicinissimi, si screma un po' quando Di Giannantonio riesce a passare Aleix Espargaro con l'iberico a perdere un po' di ritmo. Il pilota dell'Aprilia viene passato anche da Vinales e Marquez, mentre quando tocca a Bastianini l'italiano va lungo e manda fuori pista Espargaro. Long Lap Penalty per lui che rientra in pista decimo. Davanti intanto, Bagnaia e Martin restano appaiati mentre Marquez si porta a ridosso Di Giannantonio e sferra il primo attacco a 11 giri dal termine, con Vinales poco lontano. Sesto era Quartararo, che stava facendo una gara eccellente con la sua Yamaha, ma si è steso nel tentativo di non farsi prendere da Espargaro e Bastianini. Qualche giro prima era caduto Mir, mentre poco dopo si aggiunge Miller alla lista dei ritirati. Marquez, a 10 giri dal termine, si porta sul podio, passando Di Giannantonio il quale per resistere va largo e perde la posizione anche su Vinales, mentre alle loro spalle Bastianini riesce finalmente a passare Espargaro. A 8 giri dal termine comincia la bagarre, con Bagnaia che si difende incrociando nella ''S'' su Martin riprendendosi la prima posizione appena persa. Marquez, intanto, approfitta della lotta tra i primi due per portarsi a poco più di un secondo. Martin riprova il sorpasso a 7 giri dalla fine e stavolta non lascia spazio al rivale, prendendosi la prima posizione e provando a dare subito un tirone con Marquez che intanto arriva su Bagnaia. Questo supersonico terzetto si gioca la vittoria negli ultimi 5 giri incandescenti, Bagnaia sembra averne negli ultimi due per beffare Martin, ma il terzo incomodo lo sorprende proprio a 3 curve dall'arrivo, prendendosi la seconda piazza e salvando la vittoria del connazionale. Il primo triello dell'anno finisce così: Martin-Marquez-Bagnaia, bravo anche Bastianini, il più veloce negli ultimi giri, che prende la quarta posizione completando il poker Ducati, quinta l'Aprilia di Vinales.