Oliveira partía 11º en la parrilla, pero volvió a protagonizar una excelente salida y enseguida se metió en cabeza. Aunque Pasini llegó a tener más de un segundo a mitad de la carrera, una caída del italiano ponía en bandeja el triunfo del portugués. Baldassarri hizo todo lo que pudo hasta la última vuelta por evitarlo , pero finalmente el de KTM fue capaz de superarle y llevarse el primer triunfo de la temporada.
"He decido ganar aunque sabía que iba a sufrir con los neumáticos por la temperatura. El resto también. Me he acercado a Pasini y he visto hasta donde podía llegar. Ha apretado mucho y se caído. Entonces he sabido que podía ganar", dijo Oliveira al acabar la carrera.
Schrotter protagonizó la mejor salida de los que estaban en primera fila y antes de la frenada de San Donato ya era líder. Pero la alegría para el alemán apenas duraría unos metros y entrando en la curva 2 se iba al suelo. Márquez heredaba la cabeza de carrera, seguido de Bagnaia.
Pero quien arrancó mejor fue Oliveira, que partía 11º y ya estaba en posición de podio tras las primeras curvas. El portugués salió como un tiro y antes de cumplirse el tercer paso por meta se ponía primero.
En cabeza se montó un grupo de siete, en el que también marchaban Bagnaia, Márquez, Pasini, Baldassarri, Fenati y Mir. El autor de la pole, Pasini, fue acercándose paulatinamente a la cabeza y no dejó marcharse al de KTM, alternándose ambos en la cabeza durante varias vueltas, mientras del pelotón se quedaba Fenati.
A falta de 14 giros para acabar, Márquez tenía un susto en la curva 1, lo que le dejó en tierra de nadie en sexta posición. Pasini se puso a marcar el ritmo y estiró el grupo, llegando a abrir un hueco décima a décima sobre Oliveira, Baldassarri y Bagnaia.
El de Rimini tenía más de un segundo sobre el luso, que se había escapado ligeramente de Baldassarri y algo más de Bagnaia. Pero a ocho vueltas para acabar el del Italtrans perdía la rueda delantera en la curva 1 y se veía obligado a retirarse.
Oliveira se quedaba en cabeza y Baldassarri se pegaba a él. Bagnaia, al contrario, no podía acercarse y veía como Mir además se le echaba encima. Los dos de cabeza se enzarzaron en una lucha por el liderato pasándose repetidamente. Aunque el del Sky parecía desahuciado, a tres vueltas del final se unió a ellos, formándose un grupo de cuatro que se iba a jugar las plazas de podio y hasta la victoria.
Al inicio de la última vuelta el Mir adelantó a Bagnaia, lo cual dio unos metros a Baldassarri y Oliveira para disputarse entre ellos la victoria. El del Pons parecía favorito a llevársela, pero un susto en la curva 5 hizo que el de KTM le pudiese pasar en la siguiente y mantuviese así la primera plaza hasta meta.
Baldassarri se tenía que conformar con la segunda posición, mientras que Mirconseguía batir a Bagnaia y lograba así su segundo podio consecutivo en la categoría. Su compañero, Márquez completaba los cinco primeros.
Con este resultado, Bagnaia se mantiene líder de Moto2, aunque ve su ventaja reducida a solo 13 puntos sobre Oliveira. Márquez se queda cuarto a 33 por detrás de Baldassarri, mientras que Mir ya es quinto del campeonato.