Fantastica gara di Fabio Quartararo che porta la Speed Up sul gradino più alto del podio del Montmelò. Il francese completa l'hattrick e dopo aver ottenuto la pole position firma anche il giro veloce e la vittoria finale. Gara di sostanza del talento transalpino che precede Miguel Oliveira, autore di un recupero sontuoso, e Alex Marquez. In difficoltà Bagnaia che chiude in ottava posizione e vede assottigliarsi di netto il vantaggio in classifica sul portoghese. 

Alla partenza scatta bene Alex Marquez che si prende la testa della corsa davanti a Quartararo, ma ancora meglio fa Oliveira. Il portoghese della KTM scatta dalla diciassettesima posizione dopo un sabato colmo di difficoltà, ma in quattro curve recupera dodici posizioni portandosi immediatamente alle spalle di Bagnaia in quinta posizione. I primi giri sono caratterizzati dalla rimonta del lusitano che passa il leader del mondiale e si metta in caccia di Quartararo. Il talento francese lo tiene dietro per tre giri difendendosi con le unghie e con i denti, mentre poco più avanti il fratellino del 93 prova a scappare via. Oliveira, però, infila il francese e riprende in un amen lo spagnolo e, dopo appena sette giri, si prende la testa della corsa. La KTM sembra imbattibile e le notizie che giungono dalle spalle del portoghese non fanno che caricarlo. Infatti, Bagnaia, è in difficoltà e scivola sino alla settima posizione, commettendo anche un errore di traiettoria che lo porta largo e permette a Baldassarri di avvicinarsi. 

La festa di Oliveira però è rovinata da Quartararo. Il pilota del team Speed Up passa Marquez e riprende il lusitano mettendogli il fiato sul collo. I conti riguardanti la classifica iniziano a pesare sulla testa di Miguel, mentre il transalpino continua a spingere senza aver nulla da perdere e allora il sorpasso è solo questione di tempo. Quartararo si prende la testa della corsa e inizia a spingere facendo registrare anche il giro veloce, mentre Oliveira si accontenta della seconda posizione, conscio di aver già recuperato tanti punti a Pecco Bagnaia, che intanto viene superato anche da Baldassarri e confinato in ottava posizione. Al traguardo esulta Quartararo seguito dal portoghese e da Marquez. Da segnalare il ritiro di Fenati, con un misto di problemi fisici e meccanici, e la caduta di Mattia Pasini, che ha perso l'anteriore nei primi giri di gara mentre si trovava in sesta posizione.