Parti dixième, le jeune Italien, qui était déjà monté sur le podium trois fois cette saison, a été l’un des principaux protagonistes d’un groupe de tête qui comptait une douzaine de pilotes en début de course et est resté extrêmement compact jusqu’à l’arrivée. Installé en cinquième position dans le dernier tour au moment d’aborder le dernier secteur, Bagnaia a parfaitement jugé ses dépassements et a passé Fabio di Giannantonio (Gresini Racing Moto3) dans la première partie de la chicane pour ensuite s’imposer sur le fil devant Andrea Migno (SKY Racing Team VR46). Auteur d’une manoeuvre osée sur le dernier tour, ce dernier a été relégué à la troisième place par la Direction de Course après le drapeau à damier mais faisait quand même sa première apparition sur le podium tandis que Di Giannantonio obtenait une deuxième seconde place après celle qu’il avait décrochée au GP d’Italie.
Également en lice pour la victoire dans le dernier tour, Romano Fenati (SKY Racing Team VR46) et Niccolò Antonelli (Ongetta-Rivacold) ont été les grands perdants de la fin de la course et complétaient un Top 5 100% italien devant Jules Danilo (Ongetta-Rivacold). Parti quatorzième, juste derrière son coéquipier, le Français a réalisé une brillante course pour s’offrir son meilleur résultat en date et finir à moins de deux dixièmes de seconde du vainqueur, confirmant les progrès affichés depuis le début de la saison.
Nicolò Bulega (SKY Racing Team VR46) a fini une demi-seconde derrière, en septième position, devant Joan Mir (Leopard Racing), Bo Bendsneyder (Red Bull KTM Ajo), Lorenzo Dalla Porta (Estrella Galicia 0,0) et Philipp Öttl (Schedl GP Racing).
Présent dans le groupe de tête en fin d'épreuve, Brad Binder (Red Bull KTM Ajo) est sorti de piste suite à un contact avec un autre pilote et a terminé treizième. Le Sud-Africain conserve une avance conséquente au classement général, de 48 points sur Jorge Navarro, qui récupère d’une double fracture de la jambe et était remplacé par Dalla Porta, et de 58 points sur Fenati.
En pole position, Enea Bastianini (Gresini Racing Moto3) est parti à la faute en touchant la roue arrière de l’un de ses adversaires dans le groupe de tête, à trois tours de l’arrivée. C’est la treizième fois d’affilée que le pilote qualifié en pole manquait de s’imposer en Moto3™, depuis la pole et la victoire de Bastianini à Misano en 2015.
Toujours aussi malchanceux, Fabio Quartararo (Leopard Racing) était bien présent dans le groupe de tête mais n’a pas pu éviter de percuter la moto de Gabriel Rodrigo (RBA Racing Team), tombé juste devant lui dans le deuxième tour.
Seulement seizième sur la grille suite à une chute en qualifications et alors qu’il avait dominé les essais libres, le rookie espagnol Arón Canet (Estrella Galicia 0,0) a réussi à remonter jusqu’à la septième place mais a fini par chuter en highside dans le virage n°16. Percuté par la moto de son compatriote, Juanfran Guevara (RBA Racing Team) a lui aussi été contraint à l’abandon. Alexis Masbou (Peugeot MC SaxoPrint) et Tatsuki Suzuki (CIP-Unicom Starker), qui se battaient pour la quatorzième place, ont chuté ensemble un peu plus tard, juste après avoir passé le cap de la mi-course.
Tous les résultats ici.