Pada menit ke-20, Spanyol mendapat hadiah penalti. Berawal dari umpan silang Marc Cucurella, Lucas Digne gagal menyapu bola dengan sempurna. Kakinya justru mengenai Lamine Yamal di dalam kotak penalti. Wasit tanpa ragu menunjuk titik putih.
Mikel Oyarzabal yang menjadi eksekutor menjalankan tugas dengan sempurna. Tendangan kaki kirinya meluncur ke pojok kanan atas gawang. Kiper Prancis Mike Maignan menebak arah bola dengan benar, tetapi tidak mampu menghentikan tendangan.
Gol itu menjadi pukulan bagi Prancis. Situasi semakin sulit ketika William Saliba harus meninggalkan lapangan pada menit ke-30 akibat cedera punggung dan digantikan Maxence Lacroix.
Menjelang turun minum, Prancis sempat memperoleh peluang terbaiknya. Rabiot mengirim umpan terobosan kepada Kylian Mbappe yang lolos dari kawalan. Tetapi kiper Unai Simon dengan sigap keluar dari sarangnya untuk membuang bola lebih dulu.
Babak pertama berakhir dengan keunggulan 1-0 bagi Spanyol. Statistik menunjukkan Prancis hanya mampu mencatatkan dua tembakan dengan total expected goals (xG) sebesar 0,04 dan tidak satu pun mengarah ke gawang.
Memasuki babak kedua, Didier Deschamps mencoba mengubah permainan dengan memasukkan Kouadio Kone menggantikan Rabiot. Namun, perubahan tersebut belum mampu meningkatkan daya serang Les Bleus.
Spanyol justru beberapa kali mengancam. Pada menit ke-51, Yamal sempat mencetak gol setelah menerima umpan Pedro Porro, tetapi dianulir karena offside.
Prancis masih kesulitan menciptakan peluang bersih. Bradley Barcola gagal memaksimalkan kesempatan di dalam kotak penalti, sementara serangan-serangan mereka kerap dipatahkan lini belakang Spanyol.
Gol kedua akhirnya hadir pada menit ke-58. Serangan balik Spanyol sempat gagal ketika Dani Olmo tidak mampu mengirim umpan kepada Oyarzabal.
Namun bola berhasil dikuasai kembali dan Porro memainkan kombinasi satu-dua dengan Olmo sebelum melepaskan penyelesaian kaki kanan yang menaklukkan Maignan. Spanyol memperlebar keunggulan menjadi 2-0.
Beberapa menit berselang, Yamal kembali membobol gawang Prancis lewat penyelesaian indah ke pojok atas gawang. Namun untuk kedua kalinya gol tersebut dibatalkan karena offside.
Prancis meningkatkan tekanan setelah tertinggal dua gol. Pada menit ke-67, Kylian Mbappe menciptakan ruang tembak di sisi kanan kotak penalti, tetapi sepakan sang kapten masih sempat dibelokkan Marc Cucurella menjadi sepak pojok.
Didier Deschamps kemudian memasukkan Theo Hernandez dan Rayan Cherki, disusul Desire Doue. Meski demikian, serangan Prancis tetap kurang efektif. Hingga menit ke-71 mereka bahkan belum mencatatkan satu pun tembakan tepat sasaran.
Malah Spanyol yang hampir menambah gol pada menit ke-79. Umpan silang Baena disambut sundulan Ferran Torres. Tapi bola melenceng tipis di sisi kiri gawang.
Prancis memperoleh peluang terbaiknya pada menit ke-81 setelah Simon melakukan kesalahan saat menyapu bola. Namun kiper Athletic Bilbao itu segera menebus kesalahannya dengan menggagalkan peluang Doue.
Memasuki akhir pertandingan, frustrasi mulai terlihat dari kubu Prancis. Mbappe menerima kartu kuning pada menit ke-86 akibat melakukan pelanggaran keras terhadap Unai Simon.