En début de match, l'Allemagne imposait sa puissance alors les portugais, parfois trop gourmands, se sont souvent compliqués la tâche. Le Mannschaft très réaliste ouvrait rapidement le score par l'intermédiaire de Bastian Schweinsteiger (22e) avant de creuser l'écart quatre minutes plus tard sur une tête de Miroslav Klose (26e). Piqués au vif, les portugais imposaient progressivement leur jeu et parvenaient à réduire le score juste avant la pause grâce à Nino Gomes (41e).

Au retour des vestiaires, les hommes de Scolari, de plus en plus dominateurs, prenaient davantage d'initiatives. Pepe manquait de peu l'égalisation sur une tête qui passait au dessus de la cage de Jens Lehmann (56e). Les allemands procédaient alors par contres et sur un coup-franc obtenu dans le camp portugais, Schweinsteiger déposait le ballon sur la tête de Ballack pour le troisième but (61e).

Dans les cinq dernières minutes, Helder Postiga relançait le suspense en marquant le deuxième but portugais de la tête (87e). Mais les hommes de Löw se gardaient bien de concéder l'égalisation.

En demi-finale, mercredi prochain à Bâle, l'Allemagne affrontera le vainqueur du deuxième quart de finale qui opposera, vendredi soir à Vienne, la Croatie et la Turquie.