Ein glücklicher Sieg für den Favoriten gegen keineswegs enttäuschende Portugiesen, die zwei Mal am Aluminium scheiterten. Erst in der 83. Minute fiel der erlösende Siegtreffer für den Gruppenersten durch Joker Solari.
Ohne seinen verletzten Stürmer Raúl war der spanische Titelträger in sein drittes Zwischenrundenmatch gegangen. Nach einer Viertelstunde musste Trainer Vicente del Bosque auch noch auf seinen portugiesischen Star Luis Figo verzichten, der ebenfalls angeschlagen durch McManaman ersetzt wurde. Real machte zwar erwartungsgemäß das Spiel, kam aber zunächst nicht bis zum Tor von Vitor Baia durch. Anders zunächst der FC Porto, der einige Male gefährliche Konter setzte und durch Söderström (4.) und vor allem Deco (14.) in Führung hätte gehen können. Der Brasilianer scheiterte aus spitzem Winkel am Pfosten. Die beste Chance für die Königlichen in der Anfangsphase hatte Raúl-Vertreter Guti, der nach einem blitzgescheiten Zuspiel von Makelele mit einem Lupfer nur hauchdünn das Tor verfehlte (12.). Real wurde Mitte der ersten Hälfte gefährlicher. Helguera per Kopf (25.) und zwei Mal McManaman (27., 33.) scheiterten allerdings an Vitor Baia. Wenig später erneut Verletzungspech auf Seiten der Spanier. Auch Guti musste wenige Minuten nach einem heftigen Zusammenprall mit Andrade ausgetauscht werden (41.), Munitis stürmte nun neben Morientes.
Auch im zweiten Abschnitt hatte der Favorit Probleme mit seinem Offensivspiel. Missglückte Fernschüsse von Zidane dokumentierten dies. Porto agierte aggressiv und trug weiterhin sporadische Konter vor (meist über Capucho), ohne jedoch gefährlich zu werden. Großes Glück hatten die Hausherren allerdings in der 63. Minute, als Schiedsrichter Dr. Markus Merk eine Notbremse von Karanka an Helder nicht ahndete und die Rote Karte in der Tasche ließ. Sekunden später konnten sich die Madrilenen erneut nicht beschweren, als Ricardo Silvas Kopfball auf dem Querbalken von Casillas Gehäuse tanzte (65.). Real ließ zu diesem Zeitpunkt jegliche Kreativität vermissen und drohte seine weiße Weste in der Gruppe C zu verlieren. Erst der eingewechselte Solari erlöste die Elf von del Bosque sieben Minuten vor dem Ende. Zu zaghaft angegriffen wagte er einen Flachschuss aus 22 Metern, und das Leder prallte vom Innenpfosten unhaltbar für Vitor Baia ins Netz.