Francesco Bagnaia ha conseguido la victoria frente a Oliveira en la última curva de la última vuelta, después de una carrera en la que los 2 primeros clasificados del mundial se han escapado de un segundo grupo que luchaba por la última posición del podio. Finalmente ha sido Marini quien se ha llevado la tercera posición, después de la caída de Márquez en la última curva, cuando iba tercero.
La salida podría haber cambiado el guión de la carrera completamente, ya que Quartararo ha estado a centímetros de tirar a Bagnaia, mientras que un toque entre Márquez y Schrotter ha evitado que el pequeño de los Márquez se enganchara al grupo formado por Oliveira, Navarro y Bagnaia.
Navarro no ha podido seguir el ritmo de los dos líderes del campeonato y se ha ido desinflando hasta que el terceto Márquez, Pasini y Marini le ha pasado. A todo esto, Oliveira y Bagnaia se escapaban hasta los 2 segundos, mientras que por detrás, Binder se acercaba al grupo perseguidor.
Una sanción a Marini a perder una posición por saltarse los límites de la pista ha amenazado sus opciones de podio. era el último del grupo y el piloto que tenía detrás era Navarro a más de 2 segundos, pero el hecho de que la señalización que IRTA considera vinculante se ha realizado en el momento en que Marini había adelantado a Márquez ha facilitado el cumplimiento de la sanción sin un perjuicio grave para las opciones de podio del hermanastro de Rossi. Binder, que había llegado a ese grupo, no ha tenido tanta suerte y ha tenido que retrasarse para dejar pasar a Navarro, perdiendo cualquier opción a luchar por el podio.
Así se ha llegado a las últimas 4 vueltas, momento en el que Bagnaia ha lanzado su primer ataque a Oliveira, en la penúltima curva de cada una de las últimas 4 vueltas, Bagnaia le ha metido la rueda a Oliveira, pero este siempre era capaz de devolverle la jugada en la última para cruzar primero la línea de meta. Pero no ha sido así en la última vuelta, Bagnaia ha hecho lo esperado en la penúltima curva, pero no ha intentado cerrarle la puerta en la última, de esta forma, Oliveira ha pasado a Bagnaia en la entrada a la última vuelta, pero el italiano ha cogido el interior y ha salido con mucha tracción, superando al portugués, que ha tenido que salir de pista para evitar el choque. Por detrás, llegaba Márquez con todas las opciones de completar el podio, pero ha entrado muy pasado a la última curva y se ha caído, dando vía libre a Marini, que ha entrado tercero, seguido de Pasini y Jorge Navarro.
Mención especial para Joan Mir, que salía vigésimo y ha cruzado la meta en octava posición.