Prost ledde från Senna och de två Ferrarierna, medan Piquet passerade de två Benettonbilarna på femte plats. Trots oro i McLarens depå om alltför hög bränsleförbrukning (bränsleavläsningarna i bilarna visade mindre bränsleförbrukning än vad Hondas telemetri talade om för teamet) var Ron Dennis enligt uppgift beredd att låta sina förare få slut på bränsle på bekostnad av en perfekt säsong om det lärde dem att vara mer konservativa med tanke på deras uppenbara övertag över fältet, även om det i slutändan visade sig att avläsningarna i bilarna var korrekta. Prost behöll ett försprång på två sekunder över Senna fram till depåstoppet i mitten av loppet, medan ett tidigt depåstopp av Berger på det 22:a varvet gjorde det möjligt för lagkamraten Alboreto att ta sig in på tredje plats. Medan de båda McLarens körde mot varandra i täten, drog de fortfarande ifrån fältet med ibland en sekund per varv.
Senna gjorde sitt depåstopp tre varv före Prost, vilket gjorde det möjligt för honom att ta ledningen tack vare ett långsamt stopp för Prost med ett fastnat framhjul, men trafiken på Mistral raksträckan (inklusive en mindre hjälpsam Piquet som troligen njöt av att se Senna förlora ledningen till Prost på nära håll) och ett växellådsproblem gjorde det möjligt för Prost att närma sig honom och sedan köra om honom på varv 61 när de körde om Alex Caffi och Pierluigi Martini vid Signes hörnet. Samtidigt återtog Berger tredjeplatsen, men Alboreto körde förbi honom igen under depåstoppet, medan Mansell drabbades av sitt sjunde raka avbräck, då han föll ut på varv 49 med fjädringsproblem, trots att han hade fallit tillbaka under ett antal varv på grund av effektförlust från sin Judd V8-motor. Efter att ha återvänt till depåerna och tvättat sig själv lämnade engelsmannen banan med ett djupt missnöje med Williams-bilens prestanda, vilket underblåste de pågående spekulationerna i pressen om att han skulle lämna teamet i slutet av året för att ansluta sig till Ferrari efter att det italienska teamet hade meddelat att de inte skulle behålla Alboreto för 1989. Trots att ryktena visade sig vara korrekta fortsatte Mansell att förneka att han skulle ansluta sig till Ferrari.
Under de sista varven drog Prost iväg medan Sennas växellådsproblem fortsatte och han förlorade flera växlar. Brasilianaren slutade till slut nästan 32 sekunder bakom fransmannen, även om han fortfarande var nästan 35 sekunder före Alboreto, den sista mannen på ledarvarvet. Berger blev fyra före Piquet, som också drabbades av växellådsproblem i tävlingens senare skeden; den sista poängen gick till Nanninis Benetton. Frankrike var första gången sedan Monacos Grand Prix 1987 som Alboreto slutade före sin lagkamrat i ett lopp där de båda slutade. Under loppet hade Alboreto fördelen av en nästan perfekt balanserad bil, medan Berger klagade över kraftig understyrning, något som inte behövdes i den snabba Signes-kurvan i slutet av Mistral.
Loppets snabbaste varv, en 1:11.737 som sattes av Prost på varv 45, var över två sekunder långsammare än den 1:09,548 som sattes av Piquet i en Honda-driven Williams året innan – en följd av de restriktioner som infördes för turbomotorer denna säsong med den största skillnaden var de hastigheter som uppnåddes på den nu 1 km långa Mistral raksträckan. År 1987 körde de snabbaste turbobilarna (Honda-drivna) 325 km/h (202 mph) på raksträckan. År 1988 uppmättes topphastigheten till 311 km/h (193 mph).
För Prost var det hans tredje seger i sitt hem Grand Prix efter att ha vunnit både 1981 i Dijon (hans första Grand Prix-seger) och 1983 på den helt långa Paul Ricard. Vid båda tillfällena hade han kört för fabriksteamet Renault.