O. Piastri puikiai startavo iš „pole“ pozicijos ir netrukus susikūrė pranašumą prieš „Red Bull“ lyderį M. Verstappeną, kuris pirmame posūkyje aplenkė L. Norrisą. Vėliau britas susigrąžino poziciją, tačiau po pirmosios sustojimų bangos M. Verstappenas pasinaudojo situacija ir aplenkė abu „McLaren“ pilotus, pakildamas į pirmą vietą.
Vis dėlto tai truko neilgai – olandas anksti sustojo antram boksų vizitui, o tai leido O. Piastri vėl atsidurti priekyje. Tuo metu kilo spėlionės, ar M. Verstappenas nesiruošia įgyvendinti trijų sustojimų strategijos, kas galėjo kelti grėsmę „McLaren“, jei „Red Bull“ būtų turėję pranašumą dėl šviežesnių padangų.
M. Verstappeno strategija iš tiesų virto trijų sustojimų planu, bet viską aukštyn kojomis apvertė saugos automobilio pasirodymas lenktynių pabaigoje – trasą turėjo palikti sugedęs Kimi Antonelli „Mercedes“ bolidas. Daugelis lyderių pasinaudojo proga ir vėl sustojo boksuose.
Po saugos automobilio fazės, kai lenktynės buvo atnaujintos likus šešiems ratams, O. Piastri ir L. Norrisas atsiplėšė, o M. Verstappeną aplenkė ir Charlesas Leclercas.
Kiek vėliau olandas du kartus susidūrė su G. Russellu, už ką teisėjai skyrė M. Verstappenui 10 sekundžių baudą, dėl kurios jis iš penktos vietos nukrito į dešimtąją.
Šeštą vietą užėmė Lewis Hamiltonas, kuriam lenktynių pabaigoje netikėtai teko pripažinti Nico Hulkenbergo pranašumą. Septintas finišavo Isackas Hadjaras („Racing Bulls“) – jaunas prancūzas surinko svarbius taškus ir dar kartą patraukė dėmesį į save. Aštuntoje vietoje lenktynes baigė Pierre’as Gasly su „Alpine“, o devintas finišavęs Fernando Alonso iškovojo itin saldžius pirmuosius taškus šį sezoną – tai įvyko jo gimtinėje Ispanijoje.
„Williams“ ispanas Carlosas Sainzas, kuriam tai taip pat buvo namų lenktynės, patyrė nesėkmingą savaitgalį ir finišavo tik 14-as.
Įdomu, jog Lance’as Strollas šiose lenktynėse net nestartavo – šeštadienio vakarą „Aston Martin“ paskelbė, kad kanadietis pasitraukia iš savaitgalio dėl riešo ir plaštakos skausmų.