A negyeddöntők első mérkőzésen az A csoport győztese játszott a B csoport második helyezettjével, tehát Portugália mérkőzött meg Németországgal az elődöntőbe kerülésért. A német válogatottat a segédedző Hans-Dieter Flick irányította, mert a vezetőedzőt Joachim Löwöt egy mérkőzésre felfüggesztették. A németek szerezték meg a vezetést az első félidő 22. percében Bastian Schweinsteiger góljával, négy perccel később Miroslav Klose kettőzte meg az előnyüket. A félidő előtt egy gólra zárkóztak fel a portugálok, de egy óra elteltével ismét két gól volt Németország előnye. Három perccel a mérkőzés vége előtt Hélder Postiga is betalált, de nem nem tudták kiharcolni a hosszabbítást, így 3–2-re kikaptak, Németország továbbjutott, a '96-os Európa-bajnokság óta először.