Substitute Silvestre Varela's late strike boosted Portugal's hopes of reaching the Euro 2012 quarter-finals.

Pepe's thumping near-post header put Portugal ahead, before Helder Postiga smashed in a close-range effort.

But two headed goals from striker Nicklas Bendtner brought the Danes level and looked set to leave Paulo Bento's men with an uphill task to advance from Group B.

Analysis

"It was another great game. That is the match of the tournament so far, which went from one end to the other. Both sides decided to be aggressive, to go for it and try to score goals. This was a great game, and a fantastic advert for football."

Then with three minutes left, Varela's right-foot shot won it for Portugal.

Portugal, coming into the game on the back of defeat by Germany, needed at least a draw to stand any chance of extending their record of reaching the knockout stage in their last five European Championships.

In contrast, Denmark headed into the Lviv clash brimming with confidence following their opening 1-0 win against the highly fancied Dutch. And they held another psychological advantage over their opponents having finished above them in qualifying groups for both the 2010 World Cup and Euro 2012.

Portuguese boss Bento was heavily criticised by his country's press for his side's defensive tactics against Germany - indeed his side had failed to score in three of their previous six games heading into this match - and adopted a more adventurous approach against the Danes.

Possession stats

Cristiano Ronaldo, looking to add to his 59-goal season for Real Madrid, was often the focal point of Portugal's attack but it was an off-day for the 27-year-old, who missed several chances in front of goal, most notably a glorious one-on-one chance seconds before Bendtner's leveller.

It was his Bernabeu team-mate Pepe who broke the deadlock when the dithering Danish defence allowed the defender to amble to the front post and meet Joao Moutinho's left-wing corner.

With Ronaldo struggling to find top gear, Portugal relied on his ex-Manchester United colleague Nani to open up the Danish defence in the first half.

And Nani was the architect as former Tottenham striker Postiga became just the sixth player to score in three European Championship finals.

Denmark failed to close down Portuguese attacks on either flank before Nani picked out Postiga at the near post with a precise square pass.

Victory for Morten Olsen's men would have put them on the brink of a quarter-final place following their surprise win over the misfiring Dutch.

Varela fires Portugal winner

And the Scandinavians were given a lifeline shortly before the break when Portugal's defence switched off to allow Michael Krohn-Dehli to nod Lars Jacobsen's deep cross back across goal for Bendtner to score the easiest of close-range headers.

It meant the Arsenal striker marked a landmark 50th cap in style and has now scored in each of his five appearances against the Portuguese.

Bendtner looked the most likely of the Danish players to find an equaliser in the second half and duly obliged when he met Jacobsen's right-wing cross at the far post.

But there was to be a further twist as Varela smashed in a right-footed shot from inside the Denmark area to spare Ronaldo's blushes.

Lineup, Bookings (4) & Substitutions (5)

Denmark

  • 01 Andersen
  • 03 Kjaer
  • 04 Agger
  • 05 S Poulsen
  • 06 Jacobsen Booked
  • 07 Kvist
  • 08 Eriksen
  • 21 Zimling (J Poulsen - 17' Booked )
  • 09 Krohn-Delhi (Schone - 90' )
  • 10 Rommedahl
  • 11 Bendtner

Substitutes

  • 16 Lindegaard
  • 22 Schmeichel
  • 12 Bjelland
  • 18 Wass
  • 02 C Poulsen
  • 13 Okore
  • 14 Schone
  • 15 Silberbauer
  • 19 J Poulsen
  • 20 Kahlenberg
  • 17 Pedersen
  • 23 Mikkelsen

Portugal

  • 12 Rui Patricio
  • 02 Alves
  • 03 Pepe
  • 05 Coentrao
  • 21 Joao Pereira
  • 04 Veloso
  • 08 Joao Moutinho
  • 16 Meireles Booked (Varela - 84' )
  • 17 Nani (Rolando - 89' )
  • 07 Ronaldo Booked
  • 23 Postiga (Oliveira - 64' )

Substitutes

  • 01 Eduardo
  • 22 Beto
  • 13 Costa
  • 14 Rolando
  • 19 Miguel Lopes
  • 06 Custodio
  • 15 Ruben Micael
  • 20 Viana
  • 09 Almeida
  • 10 Quaresma
  • 11 Oliveira
  • 18 Varela
Ref: Craig Thomson
Att: 34,915

Match Stats

Shots

9 17

On target

6 12

Corners

7 6

Fouls

18 9

Live Text Commentary

90:00 +4:20 Full time

Full Time The match has reached full-time.

90:00 +3:50

Lars Jacobsen gives away a free kick for an unfair challenge on Miguel Nelson Oliveira.

90:00 +3:07

Lasse Schone has an effort at goal from deep inside the area missing to the right of the goal.

90:00 +1:25

William Kvist Jorgensen takes the free kick. Daniel Agger challenges Kleper Pepe unfairly and gives away a free kick. Direct free kick taken by Pedro Rui Patricio.

90:00 +1:25 Booking

Booking The referee books Cristiano Ronaldo for unsporting behaviour.

90:00 +1:18

Cristiano Ronaldo challenges William Kvist Jorgensen unfairly and gives away a free kick.

90:00 +0:59

The ball is crossed by Simon Poulsen, Eduardo Bruno Alves makes a clearance.

89:40

Stephan Andersen restarts play with the free kick.

89:40 Substitution

Substitution Lasse Schone is brought on as a substitute for Michael Krohn-Delhi.

89:40

Unfair challenge on Michael Krohn-Delhi by Silvestre Varela results in a free kick.

88:38

Michael Krohn-Delhi takes a inswinging corner.

88:15 Substitution

Substitution Jorge Rolando comes on in place of Luis Nani.

86:39

The assist for the goal came from Alexandre Fabio Coentrao.

86:39 Goal scored

Goal! - Silvestre Varela - Denmark 2 - 3 Portugal Silvestre Varela finds the net with a goal from inside the penalty box to the bottom right corner of the goal. Denmark 2-3 Portugal.

86:35

Alexandre Fabio Coentrao crosses the ball,

86:19

A cross is delivered by Luis Nani, Daniel Agger makes a clearance.

86:05

The ball is delivered by Pedro Joao Pereira, Lars Jacobsen makes a clearance.

85:36

Outswinging corner taken from the right by-line by Felipe Joao Moutinho.

85:25

The ball is sent over by Silvestre Varela, William Kvist Jorgensen gets a block in.

85:03

Inswinging corner taken by Luis Nani from the left by-line, clearance made by Nicklas Bendtner.

84:46

Alexandre Fabio Coentrao takes a shot. Blocked by Simon Kjaer.

84:23

Cristiano Ronaldo takes a shot. Save by Stephan Andersen.

83:27 Substitution

Substitution Silvestre Varela comes on in place of Raul Meireles.

83:11

Miguel Nelson Oliveira has an effort at goal from just outside the box which goes wide of the left-hand upright.

81:04

Cristiano Ronaldo fires a strike on goal direct from the free kick, save by Stephan Andersen.

81:04 Booking

Booking Lars Jacobsen booked for unsporting behaviour.

80:56

Lars Jacobsen challenges Cristiano Ronaldo unfairly and gives away a free kick.

79:43

The assist for the goal came from Lars Jacobsen.

79:43 Goal scored

Goal! - Nicklas Bendtner - Denmark 2 - 2 Portugal Nicklas Bendtner scores a headed goal from close in. Denmark 2-2 Portugal.

79:32

Centre by Lars Jacobsen,

78:29

Lars Jacobsen sends in a cross, blocked by Alexandre Fabio Coentrao.

77:51

Raul Meireles gives away a free kick for an unfair challenge on Simon Kjaer. Direct free kick taken by Jakob Poulsen.

77:32

Cristiano Ronaldo has an effort at goal from deep inside the area missing to the right of the target.

76:25

Centre by Simon Poulsen. Handball decision goes against Luis Nani. Free kick crossed right-footed by Christian Eriksen from left wing, Pedro Rui Patricio makes a save.

75:19

Lars Jacobsen sends in a cross, blocked by Alexandre Fabio Coentrao.

74:26

A cross is delivered by Cristiano Ronaldo.

73:17

Lars Jacobsen concedes a free kick for a foul on Alexandre Fabio Coentrao. Direct free kick taken by Pedro Rui Patricio.

72:32

Raul Meireles has an effort at goal from outside the box which goes wide right of the goal.

71:21

Nicklas Bendtner has an effort from just inside the box that misses to the left of the goal.

70:51

Miguel Nelson Oliveira takes a shot. Comfortable save by Stephan Andersen.

70:17

A cross is delivered by Simon Poulsen, Kleper Pepe gets a block in.

69:59

Free kick awarded for a foul by Miguel Veloso on Michael Krohn-Delhi. Direct free kick taken by Christian Eriksen.

68:37

Shot by Raul Meireles. Daniel Agger gets a block in.

66:43

Tobias Mikkelsen takes a shot. Blocked by Eduardo Bruno Alves. Nicklas Bendtner is flagged offside by the assistant referee. Kleper Pepe takes the direct free kick.

65:51

Free kick awarded for a foul by Simon Poulsen on Luis Nani. Raul Meireles takes the free kick.

65:19

Simon Kjaer challenges Pedro Joao Pereira unfairly and gives away a free kick. Free kick taken by Pedro Joao Pereira.

64:51

Outswinging corner taken from the right by-line by Christian Eriksen. Christian Eriksen produces a cross. A cross is delivered by Christian Eriksen, save by Pedro Rui Patricio.

64:36

The ball is sent over by Tobias Mikkelsen, Kleper Pepe makes a clearance.

63:32

Free kick awarded for an unfair challenge on Felipe Joao Moutinho by Michael Krohn-Delhi. Direct free kick taken by Kleper Pepe.

63:32 Substitution

Substitution Miguel Nelson Oliveira on for Helder Postiga.

62:45

Tobias Mikkelsen sends in a cross, save made by Pedro Rui Patricio.

61:52

William Kvist Jorgensen has an effort at goal from outside the penalty box which goes wide right of the target.

61:45

Lars Jacobsen crosses the ball, blocked by Alexandre Fabio Coentrao.

59:02 Substitution

Substitution Tobias Mikkelsen is brought on as a substitute for Dennis Rommedahl.

57:23

Simon Poulsen delivers the ball, blocked by Pedro Joao Pereira. Inswinging corner taken by Christian Eriksen from the left by-line, clearance made by Luis Nani.

56:16

Free kick awarded for a foul by William Kvist Jorgensen on Felipe Joao Moutinho. Shot on goal comes in from Miguel Veloso from the free kick, Stephan Andersen makes a save.

55:46

Free kick taken by Luis Nani.

55:46 Booking

Booking Jakob Poulsen is booked.

55:39

Free kick awarded for an unfair challenge on Luis Nani by Jakob Poulsen.

55:13

Free kick awarded for a foul by Eduardo Bruno Alves on Christian Eriksen. Lars Jacobsen restarts play with the free kick.

52:57

A cross is delivered by Luis Nani, Stephan Andersen makes a save.

52:30

Pedro Joao Pereira crosses the ball, clearance made by Lars Jacobsen.

51:35

Raul Meireles fouled by Jakob Poulsen, the ref awards a free kick. Free kick taken by Kleper Pepe.

49:05

Shot from 20 yards from Cristiano Ronaldo. Save made by Stephan Andersen.

48:23

Centre by William Kvist Jorgensen, clearance made by Kleper Pepe.

45:38

Unfair challenge on Christian Eriksen by Felipe Joao Moutinho results in a free kick. Simon Kjaer takes the direct free kick.

45:31

A cross is delivered by Cristiano Ronaldo, Jakob Poulsen gets a block in.

45:01

The second half begins.

45:00 +2:39 Half time

Half Time The match has reached half-time.

45:00 +1:29

Luis Nani delivers the ball, save made by Stephan Andersen.

45:00 +0:43

The ball is swung over by Lars Jacobsen, Alexandre Fabio Coentrao gets a block in.

44:29

The ball is crossed by Pedro Joao Pereira, blocked by William Kvist Jorgensen.

43:42

The ball is swung over by Alexandre Fabio Coentrao.

43:38

Luis Nani delivers the ball.

43:02

Unfair challenge on Miguel Veloso by William Kvist Jorgensen results in a free kick. Free kick crossed by Raul Meireles.

41:31

Alexandre Fabio Coentrao is adjudged to have handled the ball. The ball is swung over by Simon Poulsen, Simon Kjaer takes a shot. Comfortable save by Pedro Rui Patricio.

40:30

The assist for the goal came from Michael Krohn-Delhi.

40:30 Goal scored

Goal! - Nicklas Bendtner - Denmark 1 - 2 Portugal Nicklas Bendtner scores a headed goal from inside the six-yard box. Denmark 1-2 Portugal.

40:19

Jakob Poulsen sends in a cross. The ball is delivered by Michael Krohn-Delhi,

39:40

Simon Poulsen crosses the ball, Kleper Pepe makes a clearance.

38:38

The official flags Dennis Rommedahl offside. Direct free kick taken by Pedro Rui Patricio.

37:15

Christian Eriksen takes the chance to get an effort at goal. Save by Pedro Rui Patricio.

35:26

Assist on the goal came from Luis Nani.

35:26 Goal scored

Goal! - Helder Postiga - Denmark 0 - 2 Portugal Goal scored by Helder Postiga from close in to the top right corner of the goal. Denmark 0-2 Portugal.

35:15

Alexandre Fabio Coentrao delivers the ball, clearance made by Simon Poulsen. The ball is delivered by Luis Nani,

32:47

Free kick awarded for a foul by Lars Jacobsen on Cristiano Ronaldo. Direct effort from the free kick comes in from Cristiano Ronaldo. Corner taken by Raul Meireles, Stephan Andersen makes a save.

32:07

Lars Jacobsen concedes a free kick for a foul on Alexandre Fabio Coentrao. Eduardo Bruno Alves restarts play with the free kick.

29:48

Free kick awarded for a foul by Eduardo Bruno Alves on Nicklas Bendtner. Lars Jacobsen takes the direct free kick.

28:46

Michael Krohn-Delhi crosses the ball from the free kick right-footed from left channel.

28:46 Booking

Booking Raul Meireles receives a caution for unsporting behaviour.

28:40

Raul Meireles is adjudged to have handled the ball.

27:36

Inswinging corner taken right-footed by Felipe Joao Moutinho from the left by-line.

26:28

Unfair challenge on Eduardo Bruno Alves by Dennis Rommedahl results in a free kick. Free kick taken by Eduardo Bruno Alves.

23:55

Assist on the goal came from Felipe Joao Moutinho.

23:55 Goal scored

Goal! - Kleper Pepe - Denmark 0 - 1 Portugal Kleper Pepe finds the net with a headed goal from inside the six-yard box. Denmark 0-1 Portugal.

22:46

Foul by Daniel Agger on Helder Postiga, free kick awarded. Free kick crossed left-footed by Miguel Veloso from left channel, clearance made by Simon Kjaer. Corner taken by Felipe Joao Moutinho from the left by-line,

22:08

Foul by Eduardo Bruno Alves on Nicklas Bendtner, free kick awarded. Direct free kick taken by Daniel Agger.

20:01

Free kick awarded for a foul by Simon Kjaer on Cristiano Ronaldo. Cristiano Ronaldo produces a shot on goal direct from the free kick.

17:29

Raul Meireles takes a shot. Blocked by Daniel Agger. Cristiano Ronaldo has an effort at goal from just outside the penalty box which goes wide of the left-hand post.

16:44

Free kick awarded for an unfair challenge on Michael Krohn-Delhi by Luis Nani. Simon Poulsen takes the direct free kick.

16:06 Substitution

Substitution Jakob Poulsen is brought on as a substitute for Niki Zimling.

11:53

Luis Nani produces a cross, clearance by Lars Jacobsen. Miguel Veloso takes a short corner. Miguel Veloso crosses the ball, save made by Stephan Andersen.

10:28

Felipe Joao Moutinho fouled by Niki Zimling, the ref awards a free kick. Miguel Veloso restarts play with the free kick.

10:02

Pedro Joao Pereira sends in a cross.

8:09

Free kick awarded for an unfair challenge on Felipe Joao Moutinho by Nicklas Bendtner. Free kick crossed by Felipe Joao Moutinho, clearance by Niki Zimling.

7:40

A cross is delivered by Pedro Joao Pereira.

6:29

Dennis Rommedahl produces a cross, blocked by Kleper Pepe. Michael Krohn-Delhi takes a outswinging corner from the right by-line played to the near post, clearance by Felipe Joao Moutinho.

3:30

The ball is sent over by Michael Krohn-Delhi, Raul Meireles gets a block in. Outswinging corner taken right-footed by Michael Krohn-Delhi from the right by-line, Raul Meireles manages to make a clearance. Christian Eriksen produces a drilled left-footed shot from 12 yards. Blocked by Raul Meireles. Short corner taken by Michael Krohn-Delhi from the left by-line.

2:50

The ball is swung over by Christian Eriksen, Miguel Veloso gets a block in. Michael Krohn-Delhi decides to take the corner short.

0:00

The referee gets the match started.

Live data and text provided by our data suppliers