Márquez avait gardé la tête de course depuis la pole position au virage 1, tandis que Mattia Pasini (Italtrans Racing Team) et Bagnaia se sont touchés derrière l'Espagnol. Il y a eu une légère confusion au premier virage, quand Luca Marini (SKY Racing Team VR46) a touché Joan Mir (EG 0,0 Marc VDS), qui a lui-même percuté Dominque Agerter (Keifer Racing), repoussant Mir à la 24e place.
Márquez a saisi sa chance très tôt, tandis que Pasini et le futur vainqueur Bagnaia se battaient pour la deuxième place, ce dernier réussissant à passer sur la ligne droite du retour. Le vétéran italien a semblé en difficulté pour trouver de l'adhérence en début de course – perdant le contact avec Bagnaia et tombant aux mains d'un troupeau de pilotes redoutables derrière lui, mené par Xavi Vierge (Dynavolt Intact GP).
Dans ce troupeau, on retrouvait les deux pilotes Red Bull KTM Ajo que sont Oliveira and Brad Binder, traçant leur sillage pour se joindre à la bataille, tandis que Iker Lecuona (Swiss Innovative Investors) était également dans le peloton. La bataille derrière Márquez et Bagnaia battait son plein, Marcel Schrӧtter (Dynavolt Intact GP) menant le groupe avant qu'une chute à haute vitesse au virage 1 ne mette fin à sa course.
Devant, Bagnaia a ensuite dépassé Márquez au tour 13, avant une bataille acharnée qui les a vus échanger leurs positions six fois dans le même tour – jusqu'à ce que l'Italien parvienne à passer définitivement, conserver la tête, et commencer à creuser un écart. Vierge est tombé au tour 14, l'Espagnol tombant durant la bataille pour la quatrième place – mais le pilote est indemne.
Márquez s'est ensuite fait une grosse frayeur au virage 18 à deux tours de l'arrivée, alors qu'il attaquait pour retenir Oliveira, qui revenait à raison d'une seconde au tour. Il y a aussi eu des étincelles dans la bataille pour la quatrième place avec Mir, Lucuona et Binder – Mir parvenant à remonter 20 places après ses problèmes du premier virage.
A l'avant, rien n'a arrêté le numéro 42 qui a franchi la ligne d'arrivée en vainqueur avec 2"464 d'avance – Márquez réussissant à retenir Oliveira pour la deuxième place. Mir a terminé à une phénoménale quatrième place, tandis que Lecuona a devancé Binder sur la ligne pour la cinquième place, le Sud-Africain devant se contenter de la sixième place.
Le leader du championnat, Pasini, a terminé septième, tandis que Jorge Navarro (Federal Oil Gresini Moto2) a terminé à une impressionnante huitième place après être parti 19e. Aegerter est remonté jusqu'à la neuvième place après une performance solide consécutive à ses problèmes du départ, tandis que le candidat au titre Lorenzo Baldassarri (Pons HP40) complète le top dix.
Les pilotes du Moto2™ vont se diriger à Jerez, avec Bagnaia en tête du championnat – mais Márquez était inarrêtable en Andalousie en 2017.