Met uitzondering van Kevin Schwantz hadden bijna alle 500cc-rijders moeite met de afstelling van hun machines en de keuze van de banden. Wayne Rainey kreeg tijdens de trainingen zijn veerafstellingen niet onder controle en moest hopen dat op de ochtend voor de race nog in orde te krijgen. Er vond een vervelend ongeluk plaats toen Kevin Magee's Yamahavastliep. Magee stuurde zijn machine naar de zijkant van de baan, juist toen Eddie Lawson hem wilde passeren. Er volgde een harde botsing waarbij beiden ongedeerd bleven. Wayne Gardner werd onderuit gereden door Michael Rudroff, ook zonder ernstige gevolgen.
Tadahiko Taira had de snelste start, maar werd in de eerste bocht al gepasseerd door Kevin Schwantz. In bocht vier maakte Schwantz echter een highsider mee, waarbij zijn achtervolgers hem maar net konden ontwijken. Wayne Rainey nam een kleine voorsprong, die door de Australiërs al snel dichtgereden werd, eerst door Kevin Magee en Mick Doohan, later volgde ook Wayne Gardner. Eddie Lawson was na zijn val in de training niet helemaal fit en werd gepasseerd door Freddie Spencer, die ook in gevecht ging met Christian Sarron. In de elfde ronde nam Gardner de leiding en Sarron passeerde Magee. Spencer leek zich goed in de kopgroep te kunnen handhaven, maar kwam ten val door een vastloper. Gardner won zijn thuis-Grand Prix voor Rainey en Sarron. Lawson werd slechts vijfde.
Jean-Philippe Ruggia had met het Sonauto-team het circuit in februari verkend en dat bleek al in de trainingen. Hij reed dan ook de snelste trainingstijd. Juan Garriga was slechts zesde, omdat hij nog niet gewend was aan de nieuwe Yamaha YZR 250 met enkele krukas. Beste privérijder was Daryl Beattie, die de tiende tijd zette.
Jacques Cornu had de beste start voor Jean-Phillippe Ruggia, Sito Pons, Luca Cadalora, Juan Garriga en Reinhold Roth. In de tweede ronde maakte Cadalora een fout waardoor hij terugviel naar de laatste plaats in de race. Ruggia en Pons namen afstand van de groep, deels als gevolg van het feit dat ze - tegen de afspraken in - bandenwarmers hadden gebruikt voor de start. Ruggia en Pons leverden een fel gevecht, dat Pons met slechts 0,13 seconde wist te winnen. Luca Cadalora had intussen het hele veld ingehaald en vocht zich van de laatste plaats terug naar het podium, slechts 8,75 seconde achter de winnaar.
Om Derbi vooruit te helpen was ingenieur Tomba uit Barcelona overgevlogen, maar Jorge Martínez voelde toch de grote druk die op hem rustte. Hij ging in de training twee keer onderuit door vastlopers, maar eindigde met de snelste trainingstijd. Opmerkelijk was de vierde tijd van Àlex Crivillé, die in de GP van Japan nog een sleutelbeen gebroken had. Ook was er bewondering voor de Brit Robin Milton, die in tegenstelling tot de fabrieksteams het circuit nog niet verkend had, maar als privérijder toch de vierde tijd realiseerde.
Na de start gingen Ezio Gianola en Jorge Martínez aan de leiding, gevolgd door Fausto Gresini, Allan Scott en Àlex Crivillé. Gianola ging in de vierde ronde echter onderuit, maar kon weer opstaan en zijn race vervolgen. Martínez had nu een flinke voorsprong, maar stopte in de tiende ronde omdat zijn Derbi opnieuw vastliep. Crivillé kwam zo vanzelf aan de leiding en won met negen seconden voorsprong op de verrassende Robin Milton en Allan Scott. Gianola werkte zich na zijn val weer op naar de vijfde plaats.
De IRTA-teams hadden afgesproken dat er geen bandenwarmers gebruikt mochten worden op de startgrid, omdat dit te veel tijd kostte en ook omdat het oneerlijk was tegenover de minder kapitaalkrachtige rijders die geen bandenwarmers hadden. Sito Pons en Jean-Philippe Ruggia trokken zich echter niets aan van deze afspraak en waren in de 250cc-race duidelijk sneller dan hun concurrenten.
Ezio Gianola weet zijn val in de 125cc-race aan het publiek, dat na de overwinning van Wayne Gardner met vieze schoenen over de baan had gelopen waardoor deze glad was. Dat zou kunnen, maar feit is dat 38 collega's dat probleem niet hadden.
Hans Spaan had de hele race problemen omdat zijn Honda RS 125 bij lage toerentallen dreigde af te slaan. Daarom moest hij tijdens het remmen met zijn rechterhand ook nog het gas een beetje openhouden om de motor draaiende te houden. Dit was een lastige handeling, waardoor hij tijdens de race ten val kwam. Hij werd uiteindelijk toch nog achtste. Hij ontdekte de oorzaak van de slecht lopende motor na de race. Hij had de originele Öhlins-schokdemper vervangen door een exemplaar van WP. Die demper was echter iets dikker waardoor de carburateur te weinig lucht kreeg.
Robin Milton werd voor zijn goede vriend Allan Scott tweede. Hij zette bandenfabrikanten Dunlop en Michelin een beetje te kijk, want toen hij enkele weken voor de opening van het seizoen zijn Honda RS 125 kocht konden/wilden die hem geen banden leveren. Milton klopte ten einde raad aan bij Bridgestone, dat hem de banden leverde waarmee hij nu het podium bereikte.