Mírným favoritem zápasu mezi Anglií a Německem byli podle předzápasových prognóz Angličané, kteří se také dostali do první šance. V 16. minutě vystřelil zpoza vápna Sterling, jehož solidní pokus však dokázal zneškodnit brankář Německa Neuer. Ve 34. minutě se ke slovu dostali také Němci, střelu Wernera doprostřed brány však vykryl připravený Pickford. Ještě před koncem první půle se dostal do zajímavé šance také Kane, i jeho pokus však obrana Německa zneškodnila.
Po změně stran mohlo udeřit Německo. Konkrétně se do obrovské šance dostal ve 49. minutě Havertz, který však z dorážky na hranici pokutového území mířil pouze nad bránu Pickforda. Zlom a zásadní moment zápasu přišel v 75. minutě, když Shaw vyslal přihrávku, která měla oči, do pokutového území Německa, kde si míč našel Sterling, který střelou po zemi rozvlnil síť. V 86. minutě pojistil postup Anglie svým gólem Kane, který se trefil hlavou do pravé části brány po centru Grealishe.
Švédsko - UkrajinaDo první velké šance zápasu mezi Švédskem a Ukrajinou se dostala v 11. minutě Ukrajina, když brankář Švédska Olsen vychytal Yarmolenka. V 19. minutě těsně minul tyč ukrajinské brány Švéd Isak. Ve 27. minutě otevřel skóre zápasu ukrajinský Zinchenko, který zužitkoval centr od Yarmolenka. Ještě do konce první půle se však Švédsku podařilo vyrovnat, když se po přihrávce Isaka trefil Forsberg.
Na začátku druhé půle byli aktivnější Švédové, v posledních dvaceti minutách si však ani jeden z týmů vyloženou šanci nevypracoval a zápas tak šel do prodloužení. Klíčovým okamžikem první poloviny půlhodinového prodloužení byla 98. minuta, kdy brutálně fauloval švédský obránce Danielson, který vzápětí zcela oprávněně viděl červenou kartu od italského sudího Orsata. V nastaveném čase druhé půle prodloužení vstřeli vítězný gól zápasu střídající hráč Ukrajiny Dovbyk, pro něhož se jednalo teprve o druhý start v A-týmu ukrajinské reprezentace. Do čtvrtfinále tedy nakonec postupuje Ukrajina.
Anglie - Německo 1:0 (0:0) - hráno v LondýněBranky: 75. Sterling, 86. KaneŽK: Rice, Phillips, Maguire - Ginter, GosensAnglie: Pickford – Walker, Maguire, Stones – Trippier, Phillips, Rice (88. Henderson), Shaw – Saka (69. Grealish), Kane, SterlingNěmecko: Neuer – Ginter (87. Can), Hummels, Rüdiger – Kimmich, Goretzka, Kroos, Gosens (88. Sané) – Havertz, Müller (90+2. Musiala) – Werner (68. Gnabry)Rozhodčí: Makkelie - Steegstra, de Vries (všichni Nizozemsko)
Švédsko - Ukrajina 1:2pp. (1:1) - hráno v GlasgowBranky: 43. Forsberg - 27. Zinchenko, 120+1. DovbykŽK: Kulusevski, Forsberg - Yarmolenko, DovbykČK: DanielsonŠvédsko: Olsen – Lustig (83. Krafth), Lindelöf, Danielson, Augustinsson (83. Bengtsson) – Seb. Larsson (97. Claesson), K. Olsson (101. Helander), Ekdal, Forsberg – Kulusevski (97. Quaison), Isak (97. M. Berg)Ukrajina: Bushchan - Matviienko, Kryvtsov, Zabarnyi, Karavaev - Zinchenko, Stepanenko (94. Makarenko), Sydorchuk (118. Bezus) - Shaparenko (61. Malinovsky), Yaremchuk (91. Besedin, 101. Tsygankov), Yarmolenko (106. Dovbyk)Rozhodčí: Orsato - Giallatini, Preti (všichni Itálie)