France 1 Portugal 0: France beat Portugal 1-0 with a Zinedine Zidane penalty tonight to advance into the World Cup final where they will meet Italy on Sunday.
Eight years after their Zidane-inspired home triumph, Les Bleus will feature in the title match of the showcase tournament for the second time when they meet in Berlin.
The 34-year-old Zidane, who retires after the finals and will play the last game of a glittering career at the Olympic stadium, got the winner after 33 minutes by converting a penalty after Thierry Henry's ankle was caught by Ricardo Carvalho.
Portugal, playing their second semi-final after reaching the last four in 1966 with Eusebio in their ranks, have to be content with challenging hosts Germany for third place on Saturday in Stuttgart.
Portugal, the Euro 2004 runners-up, have a reputation for losing ill-tempered battles against the French, whom they have not beaten since 1975.
Wednesday's clash on a warm, still night at the high-tech Allianz Arena was tense, as expected, but largely free of ugly scenes.
France, relying on a bunch of gifted thirty-somethings, started the tournament in sluggish fashion before stepping up a few gears to recapture their winning ways, dumping out champions Brazil in the previous round.
The sides traded early chances in a lively opening in Munich on Wednesday when Portugal had a great opportunity after nine minutes, Maniche firing just over the bar from the edge of the box after a clever back-heeled Cristiano Ronaldo pass.
Ronaldo, booed by large sections of the crowd every time he touched the ball, was a permanent danger and came close to scoring after a fine move punctuated by a deflected shot shortly before the break.
France, however, looked in control for large spells and deserved their halftime lead, which they nearly doubled early in the second half with attempts by Henry and Franck Ribery.
Portugal kept trying but were repeatedly denied by a watertight French defence at the centre of which Thuram, 34 like Zidane, shone with calm authority.
France did survive a scare in a relatively uneventful second half after 78 minutes when a Luis Figo header flew over the bar after Fabien Barthez scooped a Ronaldo free kick into the air.