All the action from the last quarter-final in Porto.
90+2 mins: Referee Valentin Ivanov signals the end of the match as the Czech Republic book a semi-final clash with surprise package Greece.
90+1 mins: The game moves into injury time as the Czechs prepare to celebrate victory.
88 mins: The Czech Republic are spraying the ball around now to cheers from their supporters as the clock winds down.
85 mins: Madsen has another opportunity but heads over from Gravesen's cross.
83 mins: Heinz breaks away into the Danish area but is foiled by the covering Laursen. From the resultant corner, Poborsky curls a shot over.
80 mins: Tomasson tries to work space for a shot on the edge of the area but the threat is quickly snuffed out by the Czech defence.
78 mins: Madsen spurns a good opportunity for a consolation goal for Denmark when he heads over Laursen's cross.
77 mins: Gravesen shows his frustration by aiming a kick at Heinz which earns the Dane a yellow card.
75 mins: The Czechs are exuding confidence now as they keep possession for a long period with some sublime passing.
71 mins: Gronkjaer wastes a good opportunity for Denmark when he blazes across the face of the goal instead of pulling the ball back.
70 mins: Czech goal hero Baros is denied the chance of a hat-trick as he is replaced by Heinz, to a huge ovation. Denmark also send on Madsen for Jensen.
68 mins: Jorgensen does well to beat two defenders on the edge of the box, but cannot get his cross over before a Czech defender races across to block.
64 mins: GOAL Czech Rep 3-0 Denmark: The Czechs all but seal their semi-final spot as Baros races onto Nedved's precise pass and smashes home his fifth goal of the tournament, making him the top scorer overall.
62 mins: GOAL Czech Rep 2-0 Denmark: Poborsky plays a superb ball through the Danish defence for Baros, who finishes with aplomb via a deft chip over Sorensen.
60 mins: Nedved is harshly booked after an outrageous piece of acting from Gronkjaer, whose blatant dive fools the referee.
58 mins: Both teams are starting to create chances and Czech substitute Grygera does well to block Jorgensen's effort.
57 mins: The Czechs almost fashion a second goal but Nedved's header is blocked in the nick of time.
55 mins: Bogelund becomes the first Dane to be booked after impeding a promising run from Poborsky.
54 mins: Tomasson has a half-chance from a decent left wing cross but Jankulovski's challenge is enough to put him off his header.
52 mins: The goal stirs Denmark into life but Tomasson is penalised for handball.
49 mins: GOAL Czech Rep 1-0 Denmark: Poborsky sends over another corner and Koller rises unchallenged to head powerfully past Sorensen, his second goal of the tournament.
47 mins: Nedved falls awkardly after a challenge from Gravesen but struggles to his feet after treatment.
46 mins: Baros earns the Czech Republic an early corner but the kick fails to make it past the first defender.
2048 BST: Denmark kick off the second half.
45+2 mins: Referee Valentin Ivanov's whistle brings a disappointing half to an end.
45+1 mins: The Czechs end the half on the attack but Poborsky pushes the ball too far ahead of himself and his cross eventually drifts off the top of the crossbar.
44 mins: Ujfalusi becomes the second Czech player to be booked for a foul on Tomasson, but Jensen sends the free-kick into the wall.
42 mins: Koller creates half a yard of space on the edge of the Danish area, but his shot lacks any punch and is easily blocked.
39 mins: The pattern of Denmark's attacks continues as another cross, this time from Gravesen, goes straight into the arms of Cech in the Czech goal.
38 mins: Grygera comes on to replace Jiranek in the Czech defence.
36 mins: Czech full-back Jiranek is stretchered off with what appears a pulled muscle in his thigh.
32 mins: Denmark have enjoyed 64% of the possession to date but are struggling to manufacture any clear chances.
30 mins: Denmark concede a sloppy corner and Rosicky's strong run down the left yields another one in quick succession, but Nedved's cross is too long.
25 mins: Denmark are enjoying a good spell but first Gronkjaer's cross fails to find a recipient, before Gravesen fires wildly over.
21 mins: Jiranek is allowed to run unopposed to the edge of the Danish area before his shot is deflected wide for a corner.
19 mins: Poulsen has a decent chance for Denmark from Jensen's free-kick but can only send his header wide.
18 mins: The Danes are enjoying more of the play but from another promising position, Gravesen sends a cross beyond all his team-mates.
15 mins: Denmark work themselves neatly into the Czech penalty area but from Claus Jensen's lay-off, Poulson's left-foot shot is blocked.
11 mins: Baros has a brief sight of goal which is snuffed out, but Poborsky sends the clearance straight back into the Denmark penalty area and Koller sends a header over the bar.
9 mins: Jankulovski earns the first yellow card of the night for a foul on Jorgensen.
5 mins: Jankulovski wins a free-kick for the Czechs on the left flank and when the ball is headed back across goal, Baros volleys a half-chance high and wide.
3 mins: Baros earns a free-kick on the edge of the Danish penalty area. Nedved drills it in right-footed but goalkeeper Sorensen is equal to it.
2 mins: Denmark enjoy most of the possession in the early exchanges, before an attack peters out into a goal kick.
1945: The Czech Republic kick off the final quarter-final, with Greece awaiting the winners in the last four.
1940 BST: Russian referee Valentin Ivanov leads the teams out onto the Estadio do Dragao pitch for the anthems.
Czech Republic make one change from the team that started their 3-2 group victory over Holland.
Defender Rene Bolf, who played in their final group match against Germany, keeps his place at the expense of Zdenek Grygera.
Denmark striker Ebbe Sand has failed a fitness test and is replaced by Jon Dahl Tomasson with Claus Jensen drafted into midfield.
Kasper Bogelund is in for Niclas Jensen at left back while Christian Poulsen replaces Daniel Jensen in central midfield.
Czech Republic: Cech, Jiranek, Ujfalusi, Bolf, Jankulovski,
Galasek, Poborsky, Rosicky, Nedved, Koller, Baros.
Subs: Blazek, Kinsky, Grygera, Mares, Smicer, Lokvenc, Vachousek, Hubschman, Heinz, Tyce, Plasil, Rozehnal.
Denmark: Sorensen, Helveg, Laursen, Henriksen, Bogelund, Poulsen, Claus Jensen, Gravesen, Gronkjaer, Tomasson, Jorgensen.
Subs: Skov-Jensen, Andersen, Niclas Jensen, Sand, Kahlenberg, Kroldrup, Daniel Jensen, Priske, Rommedahl, Perez, Madsen, Lovenkrands.
Referee: V Ivanov (Russia).