Andrea Dovizioso ha ganado su sexta carrera de la temporada y, con la segunda posición de Lorenzo, consigue un doblete para el equipo oficial de Ducati. Zarco consigue su segundo podio al ser tercero. La cuarta posición de Márquez le impide asegurar el título.
Antes del inicio, en la vuelta de salida de boxes, la moto de Danilo Petrucci se quedó parada y el italiano tuvo que ir al box a por la segunda moto, y saldría último.
La carrera empezó, con la lluvia cayendo sobre el circuito, y, tras muchos cambios de posición, Johann Zarco se puso en cabeza, seguido de Jorge Lorenzo, Marc Márquez y Andrea Dovizioso.
En el cuarto giro, Dovizioso intentó adelantar a Márquez por primera vez, pero el español recuperó la plaza en la siguiente curva. Por detrás de los cuatro de cabeza, Dani Pedrosa era quinto y muchos pilotos ocupaban posiciones inusuales, con Scott Redding sexto seguido de Alex Rins, Loris Baz y las dos KTM. Por otra parte, Valentino Rossi era undécimo con Maverick Viñales fuera de los puntos. Sam Lowes se cayó.
Rins y Baz se cayeron en la siguiente vuelta. En la 9, Lorenzo adelantó a Zarco y se puso en cabeza. Dovizioso hizo lo propio pocas curvas después. Karel Abraham se cayó. Las Ducati dejaron a Zarco atrás.
En la vuelta 16, Lorenzo se fue largo, casi se cayó, y fue superado por Dovizioso. Todo quedó tal como iba y Dovizioso consiguió su sexta victoria de la temporada. Ducati consigue un doblete gracias a la segunda posición de Lorenzo, que sube al podio por tercera vez esta temporada; y Zarco consigue su segundo podio al ser tercero y se consolida como el mejor piloto privado del año. Completan la zona de puntos Márquez, Pedrosa, Petrucci, Rossi, Jack Miller, Viñales, Pol Espargaró, Álvaro Bautista, Smith, Redding, Hector Barberá y Cal Crutchlow.
Estos resultados alargan el duelo por el título, con Márquez 21 puntos por delante de Dovizioso, hasta la última carrera del año, en dos semanas en Cheste. Viñales asegura matemáticamente la tercera posición en la general.