El piloto portugués logró así su primera victoria de la temporada tras una disputa fantástica con el líder del campeonato el francés Fabio Quartararo de Yamaha.
Quartararo que había logrado la pole, perdió la primera posición en la primera curva, tras los sobrepasos de Jack Miller de Ducati y Oliveira.
A medida que las vueltas pasaban en el circuito español, Quartararo perdía posiciones con sus rivales, mientras Oliveira asumía el liderato.
En la parte medida de la carrera, Quartararo llegó al segundo lugar de la competencia, mientras que Marc Márquez caía y no podía continuar por fallas en su moto.
La disputa de ahí hasta el final fue impresionante, Quartararo recuperó la primera posición y en un cabeza a cabeza el liderato cambió nuevamente a favor de Oliveira.
La calma para Oliveira llegó cuando a Quartararo sorprendentemente se le abrió el traje y el francés tuvo que disminuir el ritmo de competencia para ubicarse finalmente tercero en la competencia, sin embargo, una sanción de 3 segundos lo llevó hasta el cuarto lugar.
Así las cosas, Oliveira levanta los brazos en señal de victoria por primera vez en la temporada, Johann Zarco fue segundo y el australiano Jack Miller completó el podio.