I en ellers massiv tysk kulisse var de danske fans var mødt talstærkt op på stadion i Dortmund og malede den ene ende- og hjørnetribune rød.
Det var dog de tyske værter, der lagde bedst ud inde på banen, hvor de allerede efter 4 minutter fik headet bolden i mål bag Kasper Schmeichel. Scoringen blev dog underkendt, da Joshua Kimmich forinden havde begået et frispark i feltet.
Få minutter senere fik selvsamme Kimmich presset Kasper Schmeichel til en flot redning med et kraftfuldt langskud. På det efterfølgende hjørnespark måtte Schmeichel også hive en redning frem for at undgå et tysk føringsmål.
Den første danske chance kom efter ca. 20 minutter, hvor Christian Eriksen flot fik taget en lang bold ned og sparket på mål. Bolden blev dog blokeret til hjørnespark,
Kampen blev efter knap 35 minutter afbrudt på grund af et tordenvejr med lynnedslag tæt på stadion. Afbrydelsen varede knap en halv time, før spillet blev fløjtet i gang igen.
Få minutter efter genoptagelsen var Tyskland ad to omgange tæt på at bringe sig foran, men bolden ville ikke ind.
Rasmus Højlund fik en god mulighed for at bringe Danmark foran efter 41 minutter, men afslutningen gik i sidenettet.
Kort før pausen fik Højlund endnu en mulighed for at bringe Danmark foran efter en hurtigt gennemspillet omstilling. Den danske angriber kunne dog ikke få bolden vippet over Manuel Neuer i det tyske mål.
Det blev derfor hverken til danske eller tyske scoringer i første halvleg. 0-0 ved pausen.
Allerede efter få minutter af anden halvleg troede hele stadion, at Joachim Andersen havde bragt Danmark foran. Målet blev dog underkendt for offside.
Få momenter senere havde selvsamme Joachim Andersen hånden på et tysk indlæg og efter et VAR-tjek blev der dømt straffespark til Tyskland. Kai Havertz satte straffesparket ind bag Kasper Schmeichel. 1-0 til værterne.
Tyskerne havde i perioden herefter et par gode muligheder, men fik ikke scoret.
Efter 66 minutter fik Rasmus Højlund vendt godt rundt i feltet og sendt en afslutning afsted. Dog lige på Neuer.
I stedet fik Tyskland bragt sig foran to minutter senere, da Jamal Musiala kom alene igennem i venstre side og lagde bolden forbi Schmeichel. 2-0 til Tyskland.
Danmark forsøgte i perioden herefter at få lagt et pres på den tyske defensiv, men det lykkedes ikke for alvor.
På trods af et par gode tyske muligheder i slutningen af kampen, blev det ved en tysk 2-0 sejr i Dortmund og et dansk exit i ottendedelsfinalen.