De opstelling van Oranje was verrassend te noemen.
Alle keuzes van Van Basten pakten echter wel goed uit. Khalid Boulahrouz verdedigde solide, Nigel de Jong zorgde voor evenwicht op het middenveld en Dirk Kuijt was een belangrijke schakel in het aanvalsspel van Oranje.
Er werd gespeeld in een hoog tempo, waarbij het gretige Oranje de bovenliggende partij was. Scheidsrechter Peter Frojdfeldt hield in de beginfase van de wedstrijd de kaarten op zak.
De Zweedse scheidsrechter was ook scherp bij de 1-0 van Ruud van Nistelrooy. Na een schot van Wesley Sneijder leek de spits buitenspel te staan toen hij de bal het beslissende zetje gaf. Een Italiaanse verdediger achter de doellijn hief het buitenspel echter op en het doelpunt van Van Nistelrooy was dus een geldige treffer.
Vijf minuten later was het zelfs al 2-0. Giovanni van Bronckhorst haalde een bal van de eigen doellijn en nam een spurt naar voren. De Feyenoorder kreeg de bal terug en opende op Kuijt die de bal koppend voor het doel bracht. Sneijder was bij de eerste paal een verdediger en doelman Gianluigi Buffon te snel af en tikte het tweede doelpunt binnen.
Italie drong wel aan, maar kwam aanvankelijk niet veel verder dan afstandsschoten van Antonio Di Natale en invaller Alessandro Del Piero. Een kwartier voor tijd kregen de Azzurri de eerste uitgespeelde kans. Luca Toni ontsnapte, maar lepelde de bal ruim over het doel. Kort daarop was het Fabio Grosso die op Edwin van der Sar stuitte en de doelman had nog een prachtredding in huis op een vrije trap van Andrea Pirlo.
Ondanks een aantal benauwde minuten was de Nederlandse zege terecht. Van Nistelrooy had bij 0-0 en 2-0 een goede kans onbenut gelaten en Oranje was met snelle tegenaanvallen voortdurend dreigend. Zo ontstond ook de 3-0. In eerste instantie stuitte Kuijt op Buffon, maar de spits van Liverpool FC legde de bal vervolgens keurig op het hoofd van Van Bronckhorst.