Tras conseguir su quinta pole de la temporada y después de lograr la victoria el año pasado, era el gran favorito para imponerse en el circuito de Barcelona-Cataluña pero a Fabio Quartararo se le terminó torciendo el día. El piloto francés, que se mantiene al frente de la clasificación general con 17puntos de ventaja sobre su compatriota Johann Zarco, finalizó tercero pero fue sancionado con tres segundos por acortar en las curvas 1 y 2 después de correr a pecho descubierto las últimas vueltas tras bajársele la cremallera del mono y perder la protección torácica, que salió volando. Al final se quedó a las puertas del podio en una carrera en la que se impuso con solvencia Miguel Oliveira tras tomar el mando en la segunda vuelta.
Con el portugués en cabeza, Quartararo pasó al ataque en el ecuador de la carrera y tomó el mando. Poco le duró la primera posición al francés porque la velocidad punta de la KTM quedó reflejada en la recta y Oliveira volvió a liderar con firmeza.
A partir de ese momento, al líder de MotoGP le pasó de todo. Primero, se le bajó la cremallera del mono y perdió el protector torácico. Después, en un lance con Jack Miller al final de recta, acabó saliéndose de la pista y acortando las curvas 1 y 2. Dirección de Carrera le sancionó con tres segundos y perdió el tercer escalón del podio, que fue a parar a manos del australiano. Pese a ello, continúa liderando la clasificación general de MotoGP con 17 puntos de ventaja sobre un Zarco que terminó segundo.
No fue el día de los españoles. Joan Mir remontó y terminó quinto, mientras que Marc Márquez y Pol Espargaró se fueron al suelo.