Zidane celebrates with his team-mates after the winning penalty
Zidane struck coolly past Ricardo on 33 minutes after Thierry Henry was tripped inside the box by Ricardo Carvalho.
Henry saw another shot trickle wide and Franck Ribery forced Ricardo to save.
Luis Figo and Deco saw shots saved by Fabien Barthez and Figo nodded over late on, but France stayed in control and thoroughly deserved their win.
Raymond Domenech's side will now play Italy in the final in Berlin on Sunday at 1900 BST.
606 VIEW France need to improve a gear or two because this time round Italy are favourites
Bluevaio
The final will be Zidane's last game before he retires from professional football and is a chance to win his second World Cup after the 1998 triumph on home soil.
Zidane's influence on proceedings was not quite as substantial as in the previous rounds against Spain or Brazil, but apart from a lively start Portugal rarely looked like ending their French curse.
They have not beaten France since 1975 and have still never beaten them in a major competition.
But Luiz Felipe Scolari - who lost his 100% record as a coach at World Cup finals - saw his side begin well, with Deco and Figo both forcing saves from Fabien Barthez with low 20-yard drives.
Cristiano Ronaldo was being roundly booed every time he touched the ball after his histrionics against England, but he was in fine form and twice had shots blocked as he surged at the French defence.
Having made a slow start, Domenech's side clinically took the lead just after the half hour mark.
Zidane's first-half penalty nestles in the back of Ricardo's net
Henry turned exquisitely just inside the area and was brought down by Carvalho, Zidane stepping up to decisively strike the penalty past Ricardo, who managed to get a hand on it.
Ronaldo tried to win a spot-kick of his own moments later, but his theatrical dive under the slightest challenge from Willy Sagnol was ignored by referee Jorge Larrionda.
Henry had a chance straight after the restart to double the lead, but after twisting and turning in the box his shot squirmed under Ricardo and out for a corner.
Portugal looked far from threatening with the out-of-sorts Pauleta on his own up front and Ricardo had to save Ribery's drive as France stayed in control.
The second half was a dire affair, scrappy and lacking any real creativity - it suited the French down to a tee because they never let Portugal back into the game.
Their best chance was down to Barthez. He bizarrely parried a Ronaldo free-kick into the air but from six yards Figo could only head the rebound over.
Figo and his team-mates tired badly and they simply could not muster a late rally to provide the French with any sort of threat.
Scolari furiously marched onto the pitch at the final whistle to remonstrate with referee Larrionda, but had little reason to complain.
The 57-year-old, who had won 12 World Cup games in a row as coach of Brazil and Portugal, was finally left to suffer the bitter taste of defeat.
Portugal: Ricardo, Miguel (Paulo Ferreira 63), Meira, Ricardo Carvalho, Nuno Valente, Costinha (Postiga 74), Maniche, Deco, Ronaldo, Pauleta (Simao 68), Figo.
Subs Not Used: Boa Morte, Caneira, Nuno Gomes, Paulo Santos, Quim, Ricardo Costa, Tiago, Viana.
Booked: Ricardo Carvalho.
France: Barthez, Sagnol, Thuram, Gallas, Abidal, Ribery (Govou 72), Vieira, Zidane, Makelele, Malouda (Wiltord 69), Henry (Saha 85).
Subs Not Used: Boumsong, Chimbonda, Coupet, Dhorasoo, Diarra, Givet, Landreau, Silvestre, Trezeguet.
Booked: Saha.
Goals: Zidane 33 pen.
Att: 66,000.
Ref: Jorge Larrionda (Uruguay).
Fifa man of the match: Lilian Thuram
TRIVIA
France won their 50th World Cup match, to reach the final for the second time and put themselves on course to join a select group of five nations who have won the World Cup on at least two occasions. At an average age of 30 years and 10 days, France's starting line-up was the second oldest ever in a World Cup semi-final.
Zinedine Zidane scored the fourth World Cup goal of his career and his second at this tournament. The last competitive match between these teams was also decided by a Zidane score. He netted a golden goal in the 117th minute of the semi-final of Euro 2000 to put France into the final.
Portugal's defeat brought to an end their 17 match unbeaten run in competitive matches, and marked a first ever World Cup defeat for coach Luiz Felipe Scolari. It was the 13th time the Brazilian had sent out a side in the finals.
Trivia stats source: Infostrada Sports
50pxAn experienced French side beat Portugal 1-0 in an unspectacular semi-final of the FIFA World Cup in Munich, Wednesday.

Allianz Arena

The team that lined up against Luis Felipe Scolari's side had an average age over 30 and after they went ahead from a 32 minute Zinedine Zidane penalty used their experience to control the game.

In the second half French tactics became increasingly defensive which saw ball possession go from a direct split at half time to 59 per cent in favour of Portugal as, at times, every French man sat back in his own half of the pitch.  

There were few good chances in a slow game and in the first half Portugal were particularly guilty of wasting possession near the French box, giving Portugal's only striker Pauleta no chance.

On 23 minutes Cristiano Ronaldo and Luis Figo swapped sides but this did not seem to help. French defending was tight and the majority of shots at goal Portugal got were from long range.

On 38 minutes Ronaldo created the best chance; on the left touchline he got past two French players and ran almost 30 yards into the penalty area. His shot was deflected away by a diving Liliam Thuram challenge.

France were also unable to get a sight of goal, confined to three efforts in the first period, to which they were to add two more in the second. The only goal came from a penalty awarded on the half hour when Thierry Henry wrong-footed Ricardo Carvalho and the Chelsea defender impeded Henry's movement with a leg.

Ricardo had saved three penalties against England in the quarter-final shootout but Zidane's low shot to his right just evaded his finger tips. 

Portugal did not score in their quarter-final and they were not to score in the semi-final. They came closest to scoring on a Fabien Barthez error when the veteran of France's successful 1998 World Cup campaign failed to catch Ronaldo's driven free kick. He somehow managed also to throw the ball onto Figo's head but the Portugal captain did not keep it down.

Two minutes into added time Fernando Miera had a sight of goal at the edge of the French area but the central defender hit the ball high and wide.

It did not seem like a 100 per cent effort from the French team who might be glad that the game did not go to a punishing Extra Time. Italy awaits Raymond Domenech's side in the Olympiastadion, Berlin, on July 9.

50px