Álex Márquez veroverde de zege in de sprint van de Grote Prijs van Catalonië op het Circuit de Barcelona-Catalunya. De Gresini Ducati-coureur reed een solide race en passeerde Pedro Acosta in de laatste bocht, die tot het einde had aangedrongen. De coureur uit Lleida boekte daarmee zijn eerste overwinning in de koningsklasse en kwam 62 punten achter Marco Bezzecchi in het algemeen klassement.
De omgevingstemperatuur bereikte 22 graden en het asfalt werd 43 graden onder een zon met wat bewolking. Marc Márquez deed niet mee vanwege een blessure en Augusto Fernández reed de race als gastcoureur met een Yamaha. Alle coureurs kozen voor een medium voorband en een zachte achterband.
In de eerste ronde sloot Acosta de deur voor de coureurs die hem probeerden in te halen. Johann Zarco nam de tweede plaats in voor Álex Márquez. Halverwege het veld vonden twee gelijktijdige crashes plaats: Joan Mir en Brad Binder gingen onderuit na licht contact van Fabio Di Giannantonio met de Zuid-Afrikaan. De officials onderzochten het incident maar legden geen straffen op. Jorge Martín klom naar de vijfde positie terwijl Bezzecchi slechts negende was.
De jongste Márquez passeerde Zarco al snel en begon Acosta onder druk te zetten. Martín raakte verwikkeld in een duel met Raúl Fernández en verloor posities aan Di Giannantonio. Kort daarna slaagde Álex erin de KTM-coureur te passeren en een klein gaatje te slaan. Raúl Fernández passeerde ondertussen Zarco en mengde zich in de strijd om de topposities.
Jorge Martín viel in bocht 10. Zijn Aprilia bleef in het grind steken en de coureur uit Madrid kon niet verder. Het is de vierde uitvalbeurt van het weekend voor de huidige vicewereldkampioen, die geen punten scoorde in de sprint.
Halverwege de race hield Álex Márquez vier tienden voorsprong, al kreeg hij een waarschuwing voor het meermaals overschrijden van de baanlimieten. Maverick Viñales viel uit met een mechanisch probleem aan de versnellingsbak. Pecco Bagnaia verbeterde zijn ritme en passeerde Bezzecchi, die opnieuw in moeilijkheden kwam tijdens een sprint.
Vier ronden voor het einde passeerde Acosta Raúl Fernández met een sterke remactie. Di Giannantonio ging ook voorbij de Spanjaard. In de slotronden passeerden Morbidelli en Bastianini Bezzecchi, en Ogura zette hem buiten de punten, al heroverde de leider van het kampioenschap een positie en scoorde één punt. Voorop bleef Acosta dicht bij Álex Márquez en zette hem onder druk tot de laatste bocht, maar de coureur uit Cervera hield stand en reed als eerste over de finish.
Álex Márquez werd winnaar voor Pedro Acosta. Raúl Fernández completeerde het podium, gevolgd door Di Giannantonio en Zarco. Bezzecchi eindigde als elfde en scoort één punt waarmee hij leider blijft in het wereldkampioenschap met twee punten voorsprong op Martín.