All the action as it happened in the Group C match in Braga.
Goals and major incidents:
FULL-TIME: The disappointing Bulgarians are out of the tournament, with a game left to play, having rarely tested the Danes in a poor contest.
90 mins +2: GOAL: Bulgaria 0-2 Denmark
Gronkjaer, whose mother died just before Euro 2004, cuts in from the left and exchanges passes with Tomasson before firing home Denmark's second.
84 mins: Martin Petrov also goes into the book as the Bulgarians begin to lose their discipline.
82 mins: Lazarov is incensed after the ref fails to give a free kick when he is tackled on the edge of the Danish area by Niclas Jensen. Stilian Petrov is then sent off for dissent.
80 mins: Sorensen punches out a Bulgarian free kick, then Zagorcic is booked for another bad tackle on Danish talisman Gravesen.
77 mins: Stilian Petrov is booked for a scything challenge on Gravesen.
72 mins: Jorgensen, who has picked up a knock, is replaced by Claus Jensen, with the Danes' lead under little pressure.
61 mins: Hristov sets up an attack with a fine tackle, but once again the Bulgarians lack movement and quality in the final third.
58 mins: Sand is yellow-carded for blocking a Bulgarian free kick.
55 mins: Martin Petrov finds Berbatov in the centre who sets up Jankovic for a low shot from 22 yards which just goes wide.
50 mins: Stoyanov is booked for a foul on Gronkjaer. A minute later, striker Lazarov comes on for defender Ivanov.
46 mins: Neither team makes any changes for the second half.
HALF-TIME: The Danes go in with a well-deserved lead.
44 mins: GOAL: Bulgaria 0-1 Denmark
Tomasson slots home for Denmark after being set up by Jorgensen from Gravesen's searching pass into the area.
42 mins: Martin Petrov has a great run and shoots after taking a return ball from Hristov for Bulgaria's best chance.
Tomasson had a quiet first half until he scored
41 mins: Sorensen makes a mess of a simple catch, allowing Hristov to head goalwards, but the danger is cleared.
39 mins: Tomasson latches onto Gravesen's through ball but Zdravkov does enough to force his effort wide. Zagorcic comes on for Petkov.
35 mins: In Bulgaria's first real attack, Hristov makes a run on goal down the middle before shooting well over from range.
32 mins: Niclas Jensen's cross from the left is met by Sand but his header goes wide.
28 mins: The dangerous-looking Gronkjaer forces a good low save from Zdravkov.
25 mins: It's one-way traffic, and Bulgaria live dangerously again as Kirilov makes a brave last-ditch block six yards out.
23 mins: Rommedahl, who is hobbling, is replaced by Gronkjaer who swings in a great cross in his first attack.
16 mins: Gravesen, back after suspension, receives a lecture from referee Batista after some pushing and shoving in the Bulgarian area.
10 mins: Petrov prevents Jorgensen from getting his head to Sand's dangerous ball into the box. Denmark's Niclas Jensen is booked moments later.
5 mins: Jorgensen and then Sand spurn opportunities in the six-yard box as the Danes apply early pressure.
4 mins: Kirilov is booked for a strong challenge on Tomasson on the edge of the Bulgarian area.
1700 BST: Match kicks off.
Fans are starting to enter the two stands at Estadio Municipal de Braga.
The ground must be one of the most unusual in the world, with just two sides that are held together by cables suspended from the top of each stand and running high over the pitch.
Behind one goal are the remains of a quarry and any high, wide and handsome shots will see the ball crash into the sheer rockface.
It is not as hot as previous days to the relief of players and fans alike.
Midfielder Thomas Gravesen returns for Denmark after serving a one-match suspension.
But there is no place in the starting line-up for winger Jesper Gronkjaer, who joined the squad late following his mother's funeral.
The Bulgarians have reshuffle their defence after the 5-0 defeat against Sweden, leaving out Predrag Pazin and bringing in Ilian Stoyanov .
Bulgaria: Zdravkov, Ivanov, Kirilov, Stoyanov, Petkov, Peev, S Petrov, Hristov, M Petrov, Jankovic, Berbatov.
Denmark: Sorensen, Helveg, Laursen, Henriksen, N Jensen,
Gravesen, Tomasson, D Jensen, Jorgensen, Sand, Rommedahl.
Referee: Lucillo Batista (Portugal)