Ia ser uma corrida emocionante, com Fabio Quartararo em particular boa forma perante o seu público local. O francês fez o que pôde para manter a liderança, embora não estivesse à altura do sempre excelente Marc Márquez.
Márquez teve um ótimo começo, acelerando desde o início. Quando chegou à primeira curva, já tinha ultrapassado Fabio Quartararo, antes do francês recuperar o seu lugar. O piloto da Yamaha escapou então para a frente, deixando o espanhol a lutar com o seu irmão, Alex Márquez.
Um pouco mais atrás, a partir do quinto lugar, Francesco Bagnaia caiu na segunda volta e perdeu a oportunidade de recuperar alguns bons pontos do seu companheiro de equipa. Em quarto lugar, Fermin Aldeguer segue em frente e aproveita o erro do italiano para ganhar algum fôlego.
A batalha entre M. Márquez e Quartararo continua a todo o vapor, com o espanhol a efetuar uma série de voltas mais rápidas. Mas o francês estava determinado a manter-se na frente. Em várias ocasiões, o piloto da Ducati ultrapassou o seu rival e foi ultrapassado por trás. Foi apenas na sexta volta que Márquez se aproximou e tentou o seu melhor para descolar de uma vez por todas. Para além disso, Alex Márquez assume o segundo lugar na sétima volta.
Aldeguer aproveita a sua oportunidade para atacar El Diablo a quatro voltas do fim. Agora em terceiro lugar, o espanhol seguiu os seus compatriotas e tentou travar Quartararo.
Miguel Oliveira foi o 20.º classificado, último de entre os pilotos que terminaram a corrida, já que Pecco Bagnaia e Brad Binder caíram e não completaram a prova. Esta foi, de resto, a primeira corrida que o português da Pramac fez após uma lesão que precisou de dois meses para recuperar.