Voor het tweede jaar op rij werd de start van de MotoGP op het circuit van Catalunya nabij Montmeló door een horrorcrash in bocht 1 opgeschrikt, dit jaar daarnaast echter direct gevolgd door een tweede crash in bocht 2, waardoor de race direct werd stilgelegd.
Op de grid naar de 14e plaats teruggezet vanwege een incident in de vrije training op vrijdag had Enea Bastianini in een poging zoveel mogelijk plaatsen weer goed te maken zich voor de eerste bocht verremd en was tegen Johann Zarco aangeklapt, die daardoor net als Bastianini crashte en in zijn val ook Alex Marquez, Marco Bezzecchi en Fabio Di Giannantonio meenam.
Enkele seconden later ging het volledig mis met Pecco Bagnaia in bocht 2, die met een perfecte start de leiding had genomen in de race, maar bij het uitkomen van bocht 2 iets te gretig op het gas ging en met een enorme highsider van zijn GP23 werd gelanceerd, waarna Brad Binder hem niet kon ontwijken, over zijn been reed en daardoor ook crashte.
Beide Ducati Lenovo Team coureurs werden met de ambulance naar het medisch centrum en daarna het ziekenhuis van Catalunya voor nader onderzoek vervoerd. Röntgenfoto's en CT-scans wezen uit dat Bagnaia ontzettend veel geluk had gehad en geen enkele botbreuk had opgelopen, maar alleen meerdere kneuzingen.
Teamgenoot Bastianini was er minder goed vanaf gekomen, bij hem werd een breuk in de malleolus van zijn linkerenkel en een complexe breuk van de tweede metacarpal in zijn linkerhand geconstateerd. Beide breuken werden in het ziekenhuis gestabiliseerd, om Bastianini in staat te stellen direct terug naar Italië te vliegen om in het ziekenhuis van Modena te worden geopereerd.
Met een versnelde startprocedure volgde om 14:26 een herstart, waarbij de lengte van de race tot 23 ronden was ingekort. Met de eerste drie plaatsen op de grid nu door de drie Aprilia's van Espargaro, Vinales en Oliveira gevuld en de grootste concurrent voor de zege uitgeschakeld was de Italiaanse fabrikant uit Noale nu de torenhoge favoriet voor de overwinning.
Bij de start werden de drie Aprilia's echter door Jorge Martin verschalkt, die vanaf de vijfde plaats op de grid meteen de leiding nam, maar na slechts enkele bochten door een zeer gedreven en gemotiveerde Vinales naar de tweede plaats werd teruggezet.
Twee ronden lang hield Martin de tweede plaats in de race, maar was niet in staat om in de openingsfase de snellere Aprilia's achter zich te houden. In de derde ronde zag Aleix Espargaro zijn kans en ging de Pramac Racing coureur voorbij, waarna een ronde later Miguel Oliveira exact hetzelfde deed en voor het eerst in de geschiedenis Aprilia met drie machines aan de leiding lag.
Waar Espargaro naar het achterwiel van zijn teamgenoot reed was Oliveira niet in staat het tempo van de twee fabrieksteam-Aprilia's te volgen en kwam in de negende ronde weer onder druk van Martin te staan, die een ronde later weer opklom naar de derde plaats, maar daarna niet in staat was het gat van 3 seconden op de koplopers te overbruggen en focuste zich op het veiligstellen van die derde en laatste podiumplaats.
De strijd aan de kop van het veld was er echter niet minder om. Bijna twintig ronden lang hield Vinales de leiding in de race en leek Espargaro zich neer te moeten leggen bij een tweede plaats, maar de zware race had z'n tol op de voorband van Vinales geeist die aan de rechterkant volledig versleten was en daardoor met nog vier ronden te gaan alsnog door Espargaro naar de tweede plaats werd teruggezet.
Espargaro liep meteen een seconde bij zijn teamgenoot weg, bouwde die voorspong een ronde later zelfs tot 1,6 seconden uit, om het de laatste twee ronden iets rustiger aan te kunnen doen en met een geringe voorsprong van 0,377 seconden de dubbel op zijn thuiscircuit te realiseren, zijn tweede overwinning dit seizoen.
Maverick Vinales maakte er een eerste een-twee in de MotoGP voor Aprilia van, Jorge Martin finishte op drie seconden van de winnaar op de derde plek. Johann Zarco en Miguel Oliveira maakten de top 5 compleet.

MotoGP Catalunya, uitslag race:
| Rijder | Team | Merk | Uitslag | ||
| 1 | Aleix Espargaro | ESP | Aprilia Racing | Aprilia | 23 ronden |
| 2 | Maverick Viñales | ESP | Aprilia Racing | Aprilia | +0.377 |
| 3 | Jorge Martin | ESP | Pramac Racing | Ducati | +2.831 |
| 4 | Johann Zarco | FRA | Pramac Racing | Ducati | +4.867 |
| 5 | Miguel Oliveira | POR | CryptoDATA RNF MotoGP Team | Aprilia | +7.529 |
| 6 | Alex Marquez | ESP | Gresini Racing MotoGP | Ducati | +10.590 |
| 7 | Fabio Quartararo | FRA | Monster Energy Yamaha MotoGP | Yamaha | +10.821 |
| 8 | Jack Miller | AUS | Red Bull KTM Factory Racing | KTM | +10.880 |
| 9 | Augusto Fernandez | ESP | GASGAS Factory Racing Tech3 | KTM | +12.889 |
| 10 | Fabio Di Giannantonio | ITA | Gresini Racing MotoGP | Ducati | +13.280 |
| 11 | Luca Marini | ITA | Mooney VR46 Racing Team | Ducati | +16.491 |
| 12 | Marco Bezzecchi | ITA | Mooney VR46 Racing Team | Ducati | +16.561 |
| 13 | Marc Marquez | ESP | Repsol Honda Team | Honda | +21.616 |
| 14 | Franco Morbidelli | ITA | Monster Energy Yamaha MotoGP | Yamaha | +23.108 |
| 15 | Takaaki Nakagami | JPN | LCR Honda IDEMITSU | Honda | +26.740 |
| 16 | Iker Lecuona | ESP | LCR Honda CASTROL | Honda | +28.860 |
| 17 | Joan Mir | ESP | Repsol Honda Team | Honda | +33.929 |
| DNF | |||||
| Raul Fernandez | ESP | CryptoDATA RNF MotoGP Team | Aprilia | +13 ronden | |
| Brad Binder | RSA | Red Bull KTM Factory Racing | KTM | +20 ronden | |
| Pol Espargaro | ESP | GASGAS Factory Racing Tech3 | KTM | +22 ronden | |
| DNS | |||||
| Enea Bastianini | ITA | Ducati Lenovo Team | Ducati | ||
| Pecco Bagnaia | ITA | Ducati Lenovo Team | Ducati |
Tussenstand:
| Rijder | Team | Merk | Punten | ||
| 1 | Pecco Bagnaia | ITA | Ducati Lenovo Team | Ducati | 260 |
| 2 | Jorge Martin | ESP | Pramac Racing | Ducati | 210 |
| 3 | Marco Bezzecchi | ITA | Mooney VR46 Racing Team | Ducati | 189 |
| 4 | Brad Binder | RSA | Red Bull KTM Factory Racing | KTM | 166 |
| 5 | Aleix Espargaro | ESP | Aprilia Racing | Aprilia | 154 |