A scintillating Cristiano Ronaldo double put Portugal into the European Championship quarter-finals and sent the Netherlands out.
The Dutch needed to win by two clear goals to stand a chance of progressing and Rafael van der Vaart's lovely curling strike put them ahead.
But the Netherlands faded badly and Ronaldo equalised by slotting in from Joao Pereira's precise pass.
Ronaldo drove in a winner and Portugal will next play Czech Republic.
The Dutch, meanwhile, will be left to reflect on a tournament in which they have lost all three of their matches, just two years after finishing as World Cup runners-up.
"Portugal were the better team by a mile. I'm very, very disappointed by Netherlands but don't take any credit from Portugal and Cristiano Ronaldo in particular. You could almost say Ronaldo 2 Holland 1."
The Netherlands will first have to get the spectre of Ronaldo out of their minds as the Real Madrid star produced a performance of pace, power and poise to leave them mesmerised.
He was only denied a deserved hat-trick when a thumping late shot came back off the post as the Dutch were outgunned, with coach Bert van Marwijk's tactics backfiring.
Striker Klaas-Jan Huntelaar and playmaker Van der Vaart had started on the bench in the Dutch defeats by Denmark and Germany but both were unleashed from the start this time around.
The pair joined Wesley Sneijder, Arjen Robben and Robin van Persie as Netherlands tried to utilise the attacking prowess at their disposal and, initially, the move paid off.
Van der Vaart took a touch to control Robben's pass before curling in a 20-yard shot past the dive of Portugal goalkeeper Rui Patricio.
But Dutch hopes soon turned into the despair that has followed them around this tournament.
While the Netherlands had an array of potent talent, most of Portugal's reliance up front is on Ronaldo, and he was at his dancing and darting best as the Dutch goal brought his side out of their shell.
Ronaldo bamboozled right-back Gregory van der Wiel as he cut in from the left and struck a shot which clipped the outside of the post.
Van der Wiel must still have been in a daze moments later as his backpass put Helder Postiga through on goal, with his strike being palmed wide by keeper Maarten Stekelenburg.
Confident and creative, Ronaldo was proving a nightmare for a defence left exposed by their attacking tactics.
He had a header beaten away by Stekelenburg before he equalised, timing a run to perfection to collect a defence-splitting Pereira pass before slotting home to become the first Portuguese player to score at five major tournaments.
The former Manchester United man had a dipping 35-yard shot fended away by Stekelenburg and headed another chance wide as his energy and exuberance constantly had the Dutch backtracking.
Portugal supporterd their star with a stubborn defence marshalled by Bruno Alves and Pepe, a hard-working midfield trio of Miguel Veloso, Joao Moutinho and Raul Meireles and the trickery of Nani.
Nani helped set up Portugal's winner when he laid the ball across for Ronaldo to step inside and fire in.
Huntelaar may have claimed he should have been a starter for the Dutch in earlier games but his case was not helped by a virtually non-existent performance.
Van der Vaart and Ronaldo each hit the post with late shots before the referee ended the Dutch misery, while Portugal celebrated reaching the quarter-finals and maintaining a record of never going out in the group stages at the European Championship tournament.
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +2:35
Ibrahim Afellay sends in a cross, Eduardo Bruno Alves manages to make a clearance.90:00 +1:57
Wesley Sneijder crosses the ball from the free kick left-footed from left wing, clearance made by Kleper Pepe.90:00 +1:57 Booking
Booking Booking for Pedro Joao Pereira for unsporting behaviour.90:00 +1:56
Pedro Joao Pereira concedes a free kick for a foul on Arjen Robben.90:00 +1:24
Ibrahim Afellay sends in a cross.90:00 +0:21
Gregory Van Der Wiel delivers the ball.89:54
Ibrahim Afellay fouled by Miguel Veloso, the ref awards a free kick. Ibrahim Afellay takes the free kick.89:40
Cristiano Ronaldo takes a shot from just outaide the penalty area and strikes the post.89:06
Wesley Sneijder crosses the ball.88:55
Wesley Sneijder crosses the ball, Jorge Rolando makes a clearance.88:34
Miguel Nelson Oliveira challenges Ibrahim Afellay unfairly and gives away a free kick. Free kick taken by Gregory Van Der Wiel.87:57
Shot by Robin van Persie from deep inside the penalty area misses to the right of the goal.85:33 Substitution
Substitution Jorge Rolando comes on in place of Luis Nani.85:33
Unfair challenge on Wesley Sneijder by Pedro Joao Pereira results in a free kick. The ball is crossed by Wesley Sneijder, Klaas-Jan Huntelaar produces a right-footed shot from the edge of the area and misses to the left of the goal.85:01
Luis Nani produces a left-footed shot from just outside the penalty area that goes harmlessly over the target.84:08
Effort on goal by Luis Nani from inside the area goes harmlessly over the bar.83:44
Wesley Sneijder decides to take a short corner.83:39
Robin van Persie delivers the ball, Kleper Pepe manages to make a clearance.82:28
The ball is delivered by Ibrahim Afellay, blocked by Alexandre Fabio Coentrao.
Rafael Van der Vaart produces a curled right-footed shot from a long way out and hits the bar.80:49
The ball is sent over by Wesley Sneijder, Pedro Rui Patricio makes a save.80:17
The ball is crossed by Gregory Van Der Wiel, Kleper Pepe manages to make a clearance.79:11
Outswinging corner taken left-footed by Miguel Veloso from the left by-line. Miguel Nelson Oliveira takes a shot. Maarten Stekelenburg makes a save.78:23
Miguel Nelson Oliveira has an effort at goal from outside the penalty box missing to the wide right of the goal.77:00
Luis Nani produces a cross, save by Maarten Stekelenburg.76:23
Free kick awarded for a foul by Arjen Robben on Luis Nani. Felipe Joao Moutinho restarts play with the free kick.75:54
Wesley Sneijder takes a shot. Save made by Pedro Joao Pereira.73:12
Luis Nani provided the assist for the goal.73:12 Goal scored
Goal! - Cristiano Ronaldo - Portugal 2 - 1 Neth'lands Cristiano Ronaldo finds the net with a goal from inside the penalty area to the bottom left corner of the goal. Portugal 2-1 Holland.72:06
Corner taken right-footed by Felipe Joao Moutinho from the right by-line, clearance by Robin van Persie.71:37
Cristiano Ronaldo delivers the ball, Luis Nani takes a shot. Save by Maarten Stekelenburg.71:08 Substitution
Substitution De Castro Custodio comes on in place of Raul Meireles.70:39
Luis Nani sends in a cross.68:41
Direct free kick taken by Eduardo Bruno Alves.68:41 Booking
Booking Robin van Persie is cautioned by the ref for unsporting behaviour.68:36
Free kick awarded for an unfair challenge on Kleper Pepe by Robin van Persie.68:12
A cross is delivered by Ibrahim Afellay, Pedro Rui Patricio makes a comfortable save.67:24
Inswinging corner taken right-footed by Felipe Joao Moutinho, clearance made by Robin van Persie.66:55 Substitution
Substitution Ibrahim Afellay replaces Jetro Willems.65:45
Alexandre Fabio Coentrao takes a shot. Maarten Stekelenburg makes a save.65:21
Wesley Sneijder crosses the ball, Miguel Veloso manages to make a clearance.64:56
Robin van Persie takes a shot. Eduardo Bruno Alves gets a block in.63:40 Substitution
Substitution Miguel Nelson Oliveira is brought on as a substitute for Helder Postiga.62:50
The ball is sent over by Pedro Joao Pereira, Wesley Sneijder gets a block in.61:34
Wesley Sneijder produces a cross, clearance made by Raul Meireles.61:13
Robin van Persie fouled by Felipe Joao Moutinho, the ref awards a free kick. Nigel De Jong restarts play with the free kick.59:57
Corner taken by Wesley Sneijder from the left by-line, clearance made by Kleper Pepe.59:51
Jetro Willems produces a cross, Kleper Pepe makes a clearance.59:24
Cristiano Ronaldo takes a shot. Helder Postiga is ruled offside. Maarten Stekelenburg takes the free kick.59:09
The ball is crossed by Felipe Joao Moutinho.58:30
Inswinging corner taken right-footed by Raul Meireles from the left by-line, clearance by Klaas-Jan Huntelaar.57:00
Cristiano Ronaldo delivers the ball, save made by Maarten Stekelenburg.55:35
Pedro Joao Pereira gives away a free kick for an unfair challenge on Arjen Robben. The free kick is swung in left-footed by Wesley Sneijder.54:26
Effort from outside the penalty box by Felipe Joao Moutinho goes wide right of the target.53:44
Pedro Joao Pereira fouled by Arjen Robben, the ref awards a free kick. Pedro Joao Pereira takes the free kick.53:18
The official flags Helder Postiga offside. Joris Mathijsen restarts play with the free kick.52:48
Wesley Sneijder sends in a cross, Close range header by Ron Vlaar goes over the crossbar.52:38
Short corner taken by Wesley Sneijder from the left by-line.50:28
Kleper Pepe restarts play with the free kick.50:28 Booking
Booking Jetro Willems is given a yellow card.50:24
Free kick awarded for an unfair challenge on Felipe Joao Moutinho by Jetro Willems.50:15
Centre by Wesley Sneijder.50:05
Ron Vlaar delivers the ball, Kleper Pepe makes a clearance.49:47
Inswinging corner taken from the left by-line by Wesley Sneijder, save made by Pedro Rui Patricio.48:43
Shot on goal by Felipe Joao Moutinho from just inside the area goes over the target.48:34
Eduardo Bruno Alves sends in a cross, Robin van Persie manages to make a clearance.47:38
Free kick awarded for an unfair challenge on Cristiano Ronaldo by Ron Vlaar. Free kick crossed right-footed by Felipe Joao Moutinho, Nigel De Jong manages to make a clearance.47:23
Arjen Robben crosses the ball.47:04
Shot by Cristiano Ronaldo. Blocked by Joris Mathijsen.45:01
The referee starts the second half.45:00 +0:10 Half time
Half Time The referee calls an end to the first half.43:41
Unfair challenge on Klaas-Jan Huntelaar by Alexandre Fabio Coentrao results in a free kick. Rafael Van der Vaart takes the free kick.42:20
Luis Nani crosses the ball.41:56
Klaas-Jan Huntelaar handles the ball and concedes a free kick. Direct free kick taken by Eduardo Bruno Alves.41:26
Jetro Willems fouled by Pedro Joao Pereira, the ref awards a free kick. Direct free kick taken by Maarten Stekelenburg.40:24
Cristiano Ronaldo produces a left-footed shot from deep inside the area which goes wide of the left-hand post.39:36
Rafael Van der Vaart fouled by Eduardo Bruno Alves, the ref awards a free kick. Rafael Van der Vaart crosses the ball in from the free kick, save by Pedro Rui Patricio.36:06
Free kick awarded for an unfair challenge on Luis Nani by Rafael Van der Vaart. Miguel Veloso fires a strike on goal direct from the free kick.35:10
Unfair challenge on Cristiano Ronaldo by Ron Vlaar results in a free kick. Miguel Veloso takes the direct free kick.34:12
Corner taken right-footed by Felipe Joao Moutinho from the right by-line, Headed effort from deep inside the area by Cristiano Ronaldo misses to the right of the goal.33:41
Cristiano Ronaldo delivers the ball, Gregory Van Der Wiel gets a block in.32:36
Luis Nani crosses the ball, Gregory Van Der Wiel manages to make a clearance.32:16
Shot by Cristiano Ronaldo. Save made by Maarten Stekelenburg.31:36
The ball is sent over by Alexandre Fabio Coentrao.31:29
Helder Postiga crosses the ball, Joris Mathijsen manages to make a clearance.29:59
Luis Nani produces a left-footed shot from just outside the box that misses to the right of the goal.29:47
Indirect free kick taken by Kleper Pepe. Free kick awarded for an unfair challenge on Kleper Pepe by Wesley Sneijder.29:02
Free kick awarded for a foul by Luis Nani on Rafael Van der Vaart. Wesley Sneijder takes the free kick.27:32
The assist for the goal came from Pedro Joao Pereira.27:32 Goal scored
Goal! - Cristiano Ronaldo - Portugal 1 - 1 Neth'lands Cristiano Ronaldo scores a goal from inside the penalty area to the bottom right corner of the goal. Portugal 1-1 Holland.26:48
Shot from 30 yards from Wesley Sneijder. Comfortable save by Pedro Rui Patricio.25:23
Raul Meireles produces a cross.24:24
Felipe Joao Moutinho challenges Rafael Van der Vaart unfairly and gives away a free kick. Nigel De Jong takes the direct free kick.23:50
Foul by Luis Nani on Jetro Willems, free kick awarded. Nigel De Jong restarts play with the free kick.23:03
The offside flag is raised against Cristiano Ronaldo. Indirect free kick taken by Maarten Stekelenburg.22:32
Luis Nani sends in a cross, Cristiano Ronaldo takes a shot. Maarten Stekelenburg makes a save.21:49
Inswinging corner taken left-footed by Rafael Van der Vaart, Nigel De Jong produces a header from inside the six-yard box that clears the bar.20:46
Free kick awarded for an unfair challenge on Jetro Willems by Pedro Joao Pereira. Free kick crossed by Wesley Sneijder.19:12
Effort from 20 yards by Robin van Persie. Eduardo Bruno Alves gets a block in.18:51
The ball is swung over by Cristiano Ronaldo.18:26
Arjen Robben takes a shot.17:47
Raul Meireles produces a volleyed right-footed shot from deep inside the penalty box which goes wide of the right-hand upright.17:26
Outswinging corner taken right-footed by Raul Meireles from the right by-line.16:51
Helder Postiga takes a shot. Save by Maarten Stekelenburg.16:28
The assistant referee signals for offside against Cristiano Ronaldo. Nigel De Jong restarts play with the free kick.15:46
Foul by Miguel Veloso on Robin van Persie, free kick awarded. Rafael Van der Vaart takes the direct free kick.15:13
Effort from the edge of the area by Cristiano Ronaldo strikes the post.13:44
Free kick awarded for a foul by Alexandre Fabio Coentrao on Arjen Robben. Ron Vlaar takes the direct free kick.12:44
Free kick awarded for an unfair challenge on Rafael Van der Vaart by Luis Nani. Rafael Van der Vaart restarts play with the free kick.10:48
Assist on the goal came from Arjen Robben.10:48 Goal scored
Goal! - Rafael Van der Vaart - Portugal 0 - 1 Neth'lands Rafael Van der Vaart gets on the score sheet with a goal from just outside the box to the bottom left corner of the goal. Portugal 0-1 Holland.9:32
The offside flag is raised against Wesley Sneijder. Eduardo Bruno Alves takes the free kick.7:18
Helder Postiga gives away a free kick for an unfair challenge on Maarten Stekelenburg. Maarten Stekelenburg takes the direct free kick.7:06
Felipe Joao Moutinho takes a inswinging corner.6:02
Gregory Van Der Wiel gives away a free kick for an unfair challenge on Helder Postiga. Shot comes in from Cristiano Ronaldo from the free kick.5:35
Rafael Van der Vaart takes a shot. Felipe Joao Moutinho gets a block in.3:44
Effort from deep inside the area by Wesley Sneijder misses to the left of the goal.3:41
Gregory Van Der Wiel delivers the ball.2:44
The ball is crossed by Jetro Willems, Luis Nani gets a block in.0:36
Raul Meireles fouled by Rafael Van der Vaart, the ref awards a free kick. Free kick taken by Kleper Pepe.0:00
The referee gets the game underway.
Live data and text provided by our data suppliers