All the action from the first semi-final in Lisbon, as the hosts hang on to destroy the Dutch dream.
Goalflashes and major incidents:
FULL-TIME With Portugal clinging on, the referee blows the whistle to end a thrilling match - and the hosts are through to the final of Euro 2004.
90 mins +3: Figo finds Deco in front of the Dutch goal - but van der Sar produces another great save to deny Portugal what would have been the killer strike.
90 mins +2: Portugal break up the other end. Deco is sent clear - but Stam out-muscles him and takes the ball back upfield.
90 mins +1: Free-kick to Holland five yards outside the area as Couto fouls van Hooijdonk. The big striker picks himself up and shoots - but it is hit straight into the wall, to the relief of the Portugal fans.
89 mins: Figo is booked for not retreating 10 yards at a Dutch free-kick. The fourth official indicates there will be four minutes of stoppage time.
88 mins: Holland are now laying siege to the Portugal goal - but this time van der Vaart's shot is comfortably held by Ricardo.
87 mins: Van Nistelrooy concedes a free-kick in the Portugal area with a foul on Couto.
86 mins: Scolari's final change for Portugal - Fernando Couto comes on for goalscorer Maniche in an attempt to counter van Hooijdonk's physical presence.
83 mins: Free-kick for Holland mid-way into the Portuguese half - but Ricardo catches a poorly-hit set piece from van Bronckhorst.
81 mins: Holland make their final substitution, with van Hooijdionk brought on for Robben. They now have three out-and-out strikers on the pitch.
80 mins: Ricardo sprints off his line to claim van Nistelrooy's through-ball, which was intended for van der Vaart.
77 mins: Portugal earn a great chance to go 3-1 up. Miguel makes it to the byline on the right and cuts the ball back for Nuno Gomes, who in turn sets up Maniche. But his shot is blocked by Cocu's desperate lunge.
76 mins: Figo steals the ball off Stam just outside the Dutch area - but the ball rebounds to Nuno Gomes, who is in an offside position.
74 mins: Portugal make a second change - this time up front, with Nuno Gomes replacing Pauleta, who has missed a number of chances for the hosts.
73 mins: Ricardo is injured when he comes to collect a cross and collides with van Nistelrooy. The keeper is furious - but the referee decides not to book the Dutchman.
71 mins: Holland are now in control of the match as they throw men forward in search of the equaliser.
70 mins: Robben is booked for diving - an offence he has committed throughout the game.
69 mins: Van Nistelrooy looks to be in with a chance - but Nuno Valente stands his ground and denies the striker.
68 mins: Free-kick to Portugal 35 yards out. Deco shoots into the wall.
66 mins: With Portugal suddenly stuttering for the first time in the match, coach Scolari makes a change, bringing on Petit for Ronaldo to shore up the midfield. It is the first time in the tournament the Brazilian coach has made a defensive substitution.
65 mins: Holland nearly equalise out of the blue, but van Bronckhorst, stretching at the far post, just fails to connect with Seedorf's long cross from the left.
63 mins: GOAL Portugal 2-1 Holland
Suddenly Holland are back in the game thanks to a fortuitous own goal. Van Bronckhorst crosses from the left and, with van Nistelrooy threatening, Andrade gets a boot to it - but his attempted clearance loops over Ricardo's head into his own net.
60 mins: Seedorf takes the ball to the edge of the Portugal area. He should play the ball to Reiziger clear on his left. But instead he chooses to shoot - and slices it wide of the target.
59 mins: Another break from Figo down the left - and all van Bronckhorst can do is concede another corner.
57 mins: GOAL Portugal 2-0 Holland
Ronaldo takes a quick corner, the ball is pulled back to Maniche and he scores an amazing goal, with a dipping drive from the left-hand corner of the area. It is a contender for goal of the tournament - and looks like deservedly sending Portugal through to Sunday's final.
55 mins: Holland make their second change - and Dick Advocaat shows his intentions by replacing defender Bouma with attacking midfielder van der Vaart.
53 mins: Portugal look sure to go two up when Pauleta is sent clean through on the Dutch goal from a punt upfield from Ricardo. He unleashes a fierce shot - but van der Sar produces a fantastic save to catch the ball.
53 mins: Figo shoots wide from distance.
52 mins: Van Nistelrooy tries to play in Makaay on the edge of the area but Ronaldo, of all people, nips in to clear the danger.
51 mins: Robben at last gets a cross in for Holland from the left - but Ricardo collects the ball under no pressure.
49 mins: A neat turn from Deco sees the Portuguese playmaker beat his man and chip the ball into the box, but Pauleta fouls Bouma for a Dutch free-kick.
48 mins: Holland push on - but Seedorf's half-hit shot is no problem for Ricardo.
47 mins: Free-kick to Holland, but Ricardo claims the cross under pressure from Cocu.
46 mins: Portugal kick off at the start of the second half. Holland have made one change, with Roy Makaay replacing the disappointing Overmars.
Figo is immediately back in action and forces a corner, but van Nistelrooy is back to head clear at the near post.
HALF-TIME Portugal finish the first half well on top. Figo has been inspirational and they go into the break backed by an ecstatic home support. Holland are looking lacklustre and will need to step up a gear in the second half if they are to get back into the game.
45 mins: Free-kick to Portugal 30 yards out after Bouma fouls Pauleta. But Deco's shot is hit straight at the wall.
44 mins: More danger for Holland - but Maniche fires over from the inside-right channel.
42 mins: Nuno Valente is booked for a tackle from behind on Overmars. Robben's free-kick is cleared to Figo, who breaks again - but this time Bouma mops up at the back.
41 mins: Free-kick to Holland. Robben crosses to the far post, but Stam's header is just wide.
40 mins: Figo torments the Dutch again, this time on the right. He cuts past van Bronckhorst into the area before unleashing a brilliant curling shot which beats van der Sar - but rebounds off the far post.
38 mins: Van Nistelrooy steers Overmars' through-ball past Ricardo and into the back of the net. But with the Dutch fans celebrating, the goal is ruled out for offside. Overmars is booked for remonstrating with the referee's assistant - but replays suggest the decision was correct.
37 mins: Cocu's cross from the left drifts over van Nistelrooy's head.
36 mins: Portugal are well on top now. Holland appear to have no way through and are forced to pass all the way back to van der Sar.
34 mins: Deco and Maniche combine superbly in midfield to open up the Dutch defence. The ball is pulled back to Pauleta, who has a glorious chance to score - but his scuffed shot is well saved by van der Sar.
33 mins: Another corner for Portugal - but this time van der Sar claims Figo's cross from the right.
32 mins: Seedorf tries to send van Nistelrooy clear with a low through-ball - but it races away for a goalkick.
30 mins: A great chance for Holland, as Davids breaks clear on the left and sends over a perfect cross for Seedorf, but his header is deflected wide. Ricardo punches clear from the subsequent corner.
27 mins: The game has stepped up and Overmars nearly equalises when Davids' cross ricochets into his path - but his flashing volley flies over the bar.
25 mins: GOAL Portugal 1-0 Holland
Portugal take the lead to the delight of the Lisbon crowd. Figo sends over a corner from the left and the unmarked Ronaldo is able to score with a simple header. He rips off his shirt and is immediately booked by referee Frisk.
23 mins: Another brilliant run from the fired-up Figo nearly creates the opening goal. He collects the ball in his own half and hares down the left flank before laying it back for Pauleta - but Bouma bundles the ball clear.
21 mins: Overmars crosses from the right and Cocu heads back across the Portugal goal for van Nistelrooy - but the Manchester United striker is unable to get a shot in under pressure from Ricardo Carvalho.
17 mins: Robben is brushed off the ball by Portugal right-back Miguel, but the referee waves away his claims for a free-kick.
Portugal break up the other end and Figo produces a searing run down the left. He lays the ball back for Ronaldo, who shoots straight at van der Sar.
15 mins: Neither side has been able to genuinely threaten so far - but it has been a promising start to the game, with both teams determined to put their opponents under pressure.
13 mins: Van Nistelrooy tries to nod a long ball into Seedorf's path, but Ricardo Carvalho clears for Portugal.
11 mins: Cocu picks up the ball outside the Portugal area and tries his luck from long range. But his shot is a couple of feet wide of Ricardo's left-hand post.
10 mins: Overmars turns on the afterburners and leaves Nuno Valente for dead on the Dutch right - but the final ball is disappointing.
9 mins: Figo whips in a superb low cross from the right wing into the Holland area. Pauleta dives in, but the ball is just in front of him and to Dutch relief it flashes across the face of goal.
8 mins: Robben's misdirected cross is comfortably claimed by Portugal goalkeeper and quarter-final hero, Ricardo.
6 mins: Portugal's Maniche is injured in a clash with Cocu - but after treatment he carries on.
5 mins: Portugal push on and Deco clips a cross into the six-yard box from the left. It is intended for frontman Pauleta but misses its target and Dutch keeper van der Sar collects the ball at the second attempt.
3 mins: A cross-shot from Overmars is deflected into the Portugal area but, with Davids well placed, the ball is hacked clear.
2 mins: Dutch dangerman Robben breaks down the left flank - but Andrade is pacy enough to keep up with him and snuff out the threat.
1 min: The first free kick is awarded to Portugal, as Holland are caught offside.
1945 BST: Holland, wearing their all-white change strip, kick off.
Portugal recall striker Pauleta to the starting line-up in place of Nuno Gomes after he missed their quarter-final against England through suspension.
Luis Figo's place in the starting line-up means he equals Fernando Couto's Portuguese record of 109 caps, although Couto will move ahead of his colleague once again if he comes on as a substitute.
Holland bring in Marc Overmars in place of Andy van der Meyde on the wing while Wilfred Bouma replaces injured Frank de Boer at centre-back.
Portugal: Ricardo, Miguel, Carvalho, Andrade, Valente, Costinha, Maniche, Deco, Luis Figo, Ronaldo, Pauleta.
Holland: Van der Sar, Reiziger, Bouma, Stam, Van
Bronckhorst, Seedorf, Davids, Cocu, Overmars, Van Nistelrooy, Robben.
Referee: Anders Frisk (Sweden).