Germanul Bastian Schweinsteiger a deschis scorul în minutul 22, când a reluat în poartă o pasă de la Lukas Podolski.
Miroslav Klose a majorat diferenţa în minutul 26, când a reluat cu capul în poarta lui Ricardo, după o lovitură liberă executată de Schweinsteiger.
Portugalia a redus din diferenţă în minutul 40, atunci când Cristiano Ronaldo a şutat, Lehmann a respins în faţă, iar Nuno Gomes a reluat în plasă, mingea fiind atinsă şi de Mertesacker.
Michael Ballack a marcat din nou pentru Germania, în minutul 61. Jucătorul echipei Chelsea a marcat cu capul de la aproximativ 10 metri, profitând şi de o ieşire neinspirată a lui Ricardo.
Helder Postiga a marcat al doilea gol al Portugaliei în minutul 87, reuşind să înscrie cu capul în poarta lui Lehmann după o centrare de la Nani.
În semifinale, Germania va întâlni învingătoarea partidei dintre Croaţia şi Turcia, care va avea loc, vineri, de la ora 21.45, la Viena.