Dopo il miglior tempo del venerdì, Enea Bastianini si conferma e mette a segno la pole position di Portimao con il tempo di un minuto, 37 secondi e 706 millesimi. Per Enea si tratta della seconda pole nella premier class dopo quella di due anni fa in Austria. In prima fila insieme al romangolo del team ufficiale Ducati ci sono Maverick Vinales (in condizioni fisiche lontane dall'ideale) con la Aprilia factory (+0.082) e Jorge Martin con la Ducati PRAMAC, staccato di 106 millesimi dalla vetta. Francesco Bagnaia, staccato di 216 millesimi dal compagno di squadra, apre la seconda fila. Con lui Jack Miller (KTM Red Bull, +0.326) e Marco Bezzecchi con la migliore delle Ducati VR46 a 366 millesimi dalla vetta. Terza fila per Pedro Acosta (GASGAS Tech3, +0.432), Marc Marquez con la Desmosedici Gresini (caduto all'inizio del Q2) e Fabio Quartararo con la Yamaha Monster Energy. Al via dalla quarta fila nella Sprint Race e poi domenica nel GP full distance Brad Binder (KTM Red Bull), Alex Rins con la seconda M1 "casa" e Alex Marquez (Ducati Gresini), promosso dal Q1 (con il miglior tempo) insieme al rookie-fenomeno Acosta.
Aleix Espargaró (primo pilota rimasti fuori dal Q2) apre la quinta fila con la Aprilia factory, completata da Fabio Di Giannantonio (Ducati VR46) e dal portoghese Miguel Oliveira (vincitore quattro anni fa del GP di casa della premier class) con la Aprilia RS-GP Trackhouse. Sesta fila per Raul Fernandez, Franco Morbidelli e Augusto Fernandez. Dalla settima prendono il via Johann Zarco, Joan Mir e Takaaki Nakagami. Ottava e ultima fila solitaria per Luca Marini. Débacle Honda insomma: le quattro RC213V occupano le ultime quattro casella della classifica!