Les pilotes MotoGP sont sur le circuit de Barcelone, en Catalogne. Pedro Acosta a signé la pole position devant Franco Morbidelli et Alex Márquez.
Alex Márquez gagne, Johann Zarco dans le top 5
Tous les pilotes partent avec la même composition de pneus, à savoir le medium à l'avant et le tendre à l'arrière. Pedro Acosta conserve la tête de la course alors que Johann Zarco se retrouve en 2e position. Derrière, il y a eu un accrochage entre Joan Mir et Brad Binder. Ce dernier a été poussé par Fabio Di Giannantonio. Alex Márquez occupe la 3e place devant Raúl Fernández et Jorge Martín. Fabio Quartararo est 8e devant Marco Bezzecchi.
Au début du 2e tour, Alex Márquez prend la place derrière Pedro Acosta à Johann Zarco. Derrière, Raúl Fernández, Fabio Di Giannantonio et Jorge Martín se bagarrent pour la 4e place de la course. Fabio Quartararo a perdu deux positions à la fin de la grande ligne droite. Jorge Martín chute dans le dernier secteur du 3e tour. Plus loin, Alex Márquez prend la tête de la course et Raúl Fernández prend la 3e place à Johann Zarco. Un tour plus tard, Fabio Di Giannantonio dépasse le pilote LCR Honda. Raúl Fernández fait de même sur Pedro Acosta. A la fin du 6e tour, Maverick Viñales rentre à son box.
A cinq tours de l'arrivée, Alex Márquez compte 0"5 d'avance sur Raúl Fernández, qui est sous la menace de Pedro Acosta et Fabio Di Giannantonio. Johann Zarco suit le groupe, tandis que Francesco Bagnaia s'est défait de Marco Bezzecchi. Le tour suivant, Pedro Acosta reprend la 2e place. Fabio Di Giannantonio double Raúl Fernández alors qu'il reste deux tours. Marco Bezzecchi perd des positions et se retrouve à la dernière place dans les points. Mais dans le dernier tour, il est doublé par Ai Ogura.
Alex Márquez s'impose d'un souffle sur Pedro Acosta. Fabio Di Giannantonio, Raúl Fernández, Johann Zarco, Francesco Bagnaia, Franco Morbidelli, Ai Ogura et Marco Bezzecchi suivent. Enea Bastianini a chuté en dehors des points dans le dernier tour.