La carrera de la categoría pequeña arrancó a las 11 de la mañana, con unas condiciones mixtas en pista, que se secaba progresivamente tras un aguacero que empapó Assen a primera hora del día.
En la salida, Martín consiguió aguantar la pole tras aguantar el empuje de Nakarin Atiratphuvapat. Tras él, remontó pronto Joan Mir hasta colocarse segundo, que intentó seguir al madrileño, quien, a su vez, trató de imponer su ritmo. Sin embargo, Bo Bendsneyder logró superar al líder del Mundial y fue quien siguió al 88, que por el momento consiguió apenas unos metros de diferencia.
En los siguientes giros, fue Romano Fenati quien protagonizó una gran remontada desde atrás, subiendo a la cuarta posición en la tercera vuelta tras partir décimo quinto. Justo por delante, Mir y Bendsneyder seguían luchando por la segunda por la segunda posición, con Martín levemente escapado.
Posteriormente, llegaron los movimientos. Enea Bastianini, Ryan Van de Lagemaat y Fabio Di Giannantonio tuvieron caídas en pista. Esta última provocó un pequeño corte, formándose un grupo en cabeza de carrera de 6 pilotos: Martín, Bendsneyder, Fenati, Mir, Norrodin y Suzuki. Sin embargo, el madrileño perdió la primera posición por una colada y quedó sexto, mientras que Fenati remató su remontada al tomar el liderato.
El italiano empezó a distanciarse del resto de sus acompañantes, entre los que Mir y Bendsneyder siguieron manteniendo su pelea por el segundo puesto. Además, Jorge Martín empezó a recuperar posiciones, al colocarse cuarto a 16 vueltas del final. Por detrás, en el pelotón de persecución, Marcos Ramírez y Arón Canet comenzaron a marcar vueltas rápidas y empezaron a llegar al grupo delantero. En la parte baja de la clasificación, Pagliani se fue al suelo en la curva 16.
La carrera avanzó y Jorge Martín volvió a la primera posición de la carrera, acosado, especialmente, por Romano Fenati y Joan Mir. Fue a 12 vueltas del final cuando el grupo perseguidor logró pegarse a cabeza de carrera, tras una gran actuación de Canet y Ramírez, relevándose para rodar más rápido.
Así, el primer grupo pasó a tener 11 componentes, a saber: Martín, Fenati, Mir, Bendsneyder, Suzuki, Canet, Norrodin, Ramírez, Danilo, Rodrigo y McPhee. Pese a ello, las primeras posiciones, en un principio, fueron copadas por los mismos protagonistas que al comienzo de la manga.
Más tarde, la carrera se estabilizó. Fenati, Mir, Ramírez, Martín y Canet tomaron la delantera con el objetivo de posicionarse de cara al final. El gaditano fue el más activo, buscando un podio que se le ha resistido en este comienzo de año, colocándose delante del líder del Mundial.
A 4 vueltas del final de la carrera, hubo un toque entre Marcos Ramírez, líder provisional, y Jorge Martín. El madrileño quedó relegado a la undécima posición, cerrando el grupo, mientras que en la parte delantera Mir, McPhee y Danilo pasaron a liderar.
Y así, llegó la pelea final. Joan Mir pasó primero en la última vuelta pero, en el ataque final, comenzó a quedarse rezagado en primer lugar y bloqueado posteriormente, para pasar a cerrar el grupo tras dos caídas, de Norrodin y de Bendsneyder. Por delante, Canet pasó al ataque y logró aguantar en primera posición para conseguir su segunda victoria en Moto 3.
Tras el valenciano, completaron el podio Romano Fenati y John McPhee, que vuelve a dichas posiciones. Por detrás, quedaron Martín, que tuvo un toque con Mir al final, Danilo, Ramírez, Rodrigo, Suzuki, Mir, que sigue líder pero pierde ventaja, Bulega, Oettl, Guevara, Binder, Migno y Sasaki completando la zona de puntos.
Cerraron la clasificación Bezzecchi, Kornfeil, Atiratphuvapat, Toba, Herrera, Loi y Pulkkinen. No finalizaron Norrodin, Bendsneyder, Fernández, Bastianini, Dalla Porta, Arbolino, Pagliani, Di Giannantonio y Van de Lagemaat.