Ο αγώνας ξεκίνησε με ένταση, καθώς η ελαφριά βροχή πριν την εκκίνηση ανάγκασε την πλειοψηφία των αναβατών να αλλάξουν ελαστικά στο sighting lap. Το γεγονός αυτό, σε συνδυασμό με τη συμφόρηση στα pit lane, οδήγησε σε κόκκινη σημαία και επανεκκίνηση με 26 γύρους και καθεστώς wet race. Από εκείνη τη στιγμή, κάθε επιλογή στρατηγικής μπορούσε να αποβεί καθοριστική.
Ο poleman Francesco Bagnaia έπεσε στον πρώτο γύρο ενώ την ίδια τύχη είχε και ο Fabio Quartararo, απογοητεύοντας τους 311.000 φιλάθλους που είχαν γεμίσει τις κερκίδες του Bugatti Circuit.
Την ώρα που οι πρωτοκλασάτοι αντιμετώπιζαν ατυχίες, ο Zarco οδηγούσε με ψυχραιμία και ρυθμό, διατηρώντας διαφορά ασφαλείας, ενώ γύρο με τον γύρο άνοιγε τη διαφορά του από τους Marc και Alex Márquez, οι οποίοι έδιναν μάχη με τον καιρό, τα ελαστικά και την ασταθή πρόσφυση. Με την πτώση του Alex Márquez, ο μόνος που διατηρούσε συνεχή απόδοση ήταν ο Zarco, φτάνοντας να έχει προβάδισμα άνω των 19 δευτερολέπτων στον τελευταίο γύρο. Στο μεταξύ, ο Fermín Aldeguer, ο ταλαντούχος rookie της Gresini Ducati, πέρασε τον Pedro Acosta και κατέκτησε το πρώτο του βάθρο στο MotoGP, σε μόλις λίγους αγώνες από το ντεμπούτο του στην κατηγορία.
Ο Zarco πέρασε τη γραμμή του τερματισμού και κυριολεκτικά αποθεώθηκε. Μετά από 71 χρόνια αναμονής, ένας Γάλλος αναβάτης έφερνε ξανά το εθνικό τρόπαιο στο σπίτι.
Τελική κατάταξη
1 Johann Zarco LCR Honda Castrol 45:47.541
2 Marc Márquez Ducati Lenovo Teami +19.907
3 Fermín Aldeguer BK8 Gresini Racing MotoGP +26.532
4 Pedro Acosta Red Bull KTM Factory Racing+29.631
5 Maverick Viñales Red Bull KTM Tech3 +38.136
6 Takaaki Nakagami Honda HRC Test Team +59.527
7 Raúl Fernández Trackhouse MotoGP Team +1:10.302
8 Fabio Di Giannantonio Pertamina Enduro +1:10.363
9 Lorenzo Savadori Aprilia Racing +1:25.793
10 Ai Ogura Trackhouse MotoGP Team +1:26.529