Con la Spagna che attendeva già in semifinale, Portogallo e Francia sono scese in campo guardinghe, facendo passare alcuni minuti di studio prima di lanciare offensive vere e proprie. Da un lato c'è il milanista Leao, che a partire dal quarto d'ora inizia ad accendere il potente motore. Dall'altro il suo compagno di squadra Theo Hernandez, che realizza il primo tiro dell'incontro con una staffilata delle sue che viene ribattuta da Diogo Costa.
Col trascorrere del tempo, da un lato è Griezmann a provare a prendere per mano il gioco, senza però trovare troppa collaborazione nei compagni di gioco, spesso troppo statici. Dall'altro lato è invece Pepe a spiccare come strepitoso baluardo della difesa, come se i suoi 41 anni fossero soltanto un limite anagrafico e non fisico. Il tiro di Bruno Fernandes su punizione chiudeva un primo tempo scialbo, nel quale nessuna delle due contendenti si era davvero distinta rispetto all'altra.
Il secondo tempo vede Mbappé accelerare un pochino, cercando un tiro da fuori dopo un bello scambio. Ma la sua conclusione è facile da prendere per Diogo Costa. Da un lato e dall'altro ci sono molti tentativi e poche idee concrete, con le due rivali a farsi un po' di dispetto ma non davvero male. Lo spavento arriva al 12esimo, quando un colpo di testa di Bernardo Silva prende in piena faccia Mbappé, che per un minuto resta fuori senza mascherina e poi rientra in campo per ripartire.
La miglior palla è all'ora di gioco, quando Bruno Fernandes si inserisce in area in diagonale e calcia dal lato opposto, ma Maignan è miracoloso opponendosi con la mano destra. Poi, il portiere del Milan si ripete su Vitinha, che calcia dritto per dritto da pochi passi servito in mezzo da un vivace Leao. I Bleus rispondono con Kolo Muani, il cui tentativo da pochi metri viene sporcato da un monumentale intervento in spaccata di Ruben Dias.
L'ingresso in campo di Dembelé spostava gli equilibri, con l'esterno del Psg che dalla destra seminava il panico in una serie di occasioni, la più grande di tutte sul piede destro di Camavinga, un mancino puro che calciava troppo angolato da buona posizione. Martinez provava anche lui a cambiare qualcosa, inserendo Conceicao per Bruno Fernandes, il tutto mentre Cristiano Ronaldo riusciva a raccapezzarsi da centravanti.
Gli ultimi minuti dei tempi regolamentari sono un compendio di errori e sacrificio, con Pepe che fa esplodere l'atmosfera dello stadio con un recupero eccelso su Thuram, entrato da poco e freschissimo. Il tiro finale di Mbappé, svogliato e senza forze, è il riflesso del pessimo momento del 10 francese, che come il suo idolo portoghese non è riuscito a spiccare.
I supplementari arrivavano pesantissimi nelle gambe di tutti, Cristiano Ronaldo per primo. In campo per tutti i minuti di questo Euro, il capitano portoghese falliva la più chiara occasione dopo uno spunto di Conceicao sulla destra. Un calcione, il suo, che mandava il pallone nell'angolo in alto della gradinata, a riprova di un appannamento assoluto. Leao, stanchissimo e molto provato, ha un paio di occasioni al volo ma la prima si vede murato da Upamecano e la seconda svirgola terribilmente.
Gli ultimi 15' del match si giocano senza Mbappé, che lascia il campo per Barcola e si accomoda in panchina per apporre una borsa del ghiaccio sul naso dolente. Il match si eclissa in modo sempre più sfilacciato, con Joao Felix e Barcola a provarci senza successo. Idem per Dembelé, velocissimo ad accentrarsi per calciare alto col mancino. L'ultimissima è sul destro di Nuno Mendes, che si fida del suo piede debole e non incide nella conclusione. La spossatezza e la paura di perdere portano così il match ai calci di rigore.
Dal dischetto, dopo due serie perfette per entrambi, l'errore di Joao Felix, che prende il palo al terzo tentativo, inclina la bilancia a favore dei francesi, portati in trionfo dal penalty decisivo trasformato da Theo Hernandez.