Jorge Martín logró la pole position del Gran Premio de Indonesia batiendo dos veces el récord del circuito, pero su dominio se esfumó rápidamente en la carrera sprint. El español mantuvo el primer puesto hasta la curva 16, donde una caída, en el mismo lugar donde ya había tenido un incidente en el FP2, lo relegó al fondo del pelotón. A pesar de levantar la moto y reincorporarse, Martín terminó en una décima posición que no le otorgó ningún punto, mientras que Pecco Bagnaia aprovechó la oportunidad para liderar el resto de la carrera y llevarse la victoria.
Enea Bastianini, que partía quinto en la parrilla, mostró nuevamente su capacidad para remontar en la parte final de la carrera, terminando segundo, muy cerca de Bagnaia, con solo 0.107 segundos de diferencia en la línea de meta. Marc Márquez completó el podio tras una increíble remontada desde la 12ª posición de la parrilla, beneficiándose de la caída de Martín y los errores de otros pilotos como Marco Bezzecchi, que terminó cuarto después de perder tiempo al intentar adelantar a Bagnaia.
En quinta posición finalizó Franco Morbidelli, que adelantó a Pedro Acosta en la última vuelta, dejando al joven español en la sexta plaza. Johann Zarco, con una meritoria octava posición, fue la mejor Honda y la primera moto japonesa en la clasificación, mientras que Fabio Di Giannantonio cerró los puntos en la novena posición.