The Netherlands produced an astonishing late comeback to rescue their World Cup dream and deny Mexico a first quarter-final in 28 years.

Substitute Klaas-Jan Huntelaar scored the decisive goal from the penalty spot in injury time after Arjen Robben was fouled by Mexico captain Rafael Marquez.

Huntelaar

They had equalised in the 88th minute through Wesley Sneijder's thumping strike from the edge of the penalty area and with extra time beckoning, Robben won Louis van Gaal's side the spot-kick that took them into the quarter-finals.

It was a heartbreaking moment for the Mexicans, who had gone ahead just after half-time through Giovani Dos Santos, the former Tottenham and Barcelona player, who scored from 25 yards with a memorable strike.

At the final whistle at Estadio Castelao in Fortaleza, Mexico's players fell to the ground, unable to grasp how the game had slipped away.

For long periods they had out-thought and out-fought their more celebrated opponents as the Netherlands appeared to wilt in the stifling heat. Yet, when the final whistle blew, this would be marked down as Mexico's sixth successive loss in the second round of the World Cup, dating back to 1994.

The Dutch, in contrast, can look forward to the prospect of meeting Costa Rica or Greece in Salvador in the last eight.

The heat was a significant factor throughout. The spiralling temperatures, which reached 38.8C, meant that Fifa allowed two cooling breaks to take place. In parts of the stadium, fans struggled to take their seats because they were in direct sunlight, preferring to stand at the back and watch from an area of shade.

Match analysis

"You have to feel sorry for the Mexicans - they were brilliant for the first half and maybe 10 minutes of the second.

"You really believed that their goalkeeper looked unbeatable. But, however you have to do it, whether it is a long ball or technical stuff, you find a way to do it and that is what the Netherlands did.

"Robben became unplayable at the end of the game. Running with the ball at pace, he was simply astonishing."

On the field there was no hiding place for either side. Mexico played with courage and cohesion, tempo and tenacity. They had the better of the first half, with Hector Herrera and the excellent Miguel Layun a constant thorn in the Netherlands' side.

Carlos Salcido tested goalkeeper Jasper Cillessen from distance, while Dos Santos forced another good save from a narrow angle.

The Netherlands were struggling in the conditions. Mexico looked more ambitious, more attack-minded. Van Gaal's side sat deep, defended in numbers - sometimes with a back seven - and looked happy to rely on the attacking brilliance of Robin van Persie and Robben. It was a plan that ultimately paid off, but not until very late on.

Mexico coach Miguel Herrera

Mexico coach Herrera celebrates his side's first goal

It was not until the second half that the Netherlands found their rhythm but by then they were behind. As in the first half, Mexico began the second period with a bang - Dos Santos gathered the ball 30 yards out, held off Daley Blind and thumped a wonderful left-foot shot into the bottom corner on the turn.

Mexico might have had another soon after as Marquez headed over from a corner. Could the Dutch respond?

Van Gaal moved away from a back five and pushed substitute Memphis Depay into a more attacking midfield role. It almost paid off for the Netherlands but the brilliance of Mexico goalkeeper Guillermo Ochoa kept them at bay. Robben's corner was flicked on by Stefan de Vrij but the Mexico goalkeeper reacted instinctively to push the ball against the post and to safety.

Match facts

The Netherlands have now turned their last four World Cup games in which they fell behind in regular time (90 minutes, not including extra time) into victories

Wesley Sneijder has scored five goals in his last five World Cup knockout matches for the Netherlands

Mexico have failed to win any of their last seven knockout matches at the World Cup

Arjen Robben has won five penalties in 14 Champions League and World Cup games this season

The Dutch poured forward in wave after wave of attacks. Robben felt he had won a penalty when he went to ground under a challenge by Layun but the referee waved play on. Ron Vlaar headed a Robben corner over the bar as time ticked on.

Just as the Dutch looked out on their feet, Sneijder rescued them, pouncing on a loose ball that had run back from a corner and firing an unerring shot low beyond Ochoa to change the game.

With 30 minutes of extra time looking likely, Robben raced into the right-hand edge of the penalty area. Marquez stuck out a boot and the Bayern Munich player went to ground for a penalty. Huntelaar kept his cool to put Netherlands through.

Netherlands fan

It was a colourful scene inside the Estadio Castelao in Fortaleza

Netherlands striker Robin van Persie

Netherlands striker Robin van Persie, who has scored three goals at the World Cup, had a quiet game

Mexico players enjoy the cooling break

Mexico players enjoy the cooling break

Giovani dos Santos scores past Jasper Cillessen (pictured)

Dos Santos scored soon after the break - his shot giving Jasper Cillessen little chance

Guillermo Ochoa makes a save from Stefan de Vrij

Ochoa makes a brilliant save from De Vrij to keep the score at 1-0

Wesley Sneijder scores

Sneijder scores with an unstoppable half-volley to level for the Dutch

Klaas Jan Huntelaar celebrates his goal

Huntelaar missed his last three penalties in the Bundesliga - but made no mistake in Fortaleza

Lineup, Bookings (3) & Substitutions (6)

Netherlands

  • 01 Cillessen
  • 12 Verhaegh (Depay - 56' )
  • 15 Kuyt
  • 05 Blind
  • 02 Vlaar
  • 03 de Vrij
  • 20 Wijnaldum
  • 06 de Jong (Martins Indi - 9' )
  • 10 Sneijder
  • 09 van Persie (Huntelaar - 76' )
  • 11 Robben

Substitutes

  • 04 Martins Indi
  • 07 Janmaat
  • 08 de Guzmán
  • 13 Veltman
  • 14 Kongolo
  • 16 Clasie
  • 17 Lens
  • 18 Fer
  • 19 Huntelaar
  • 21 Depay
  • 22 Vorm
  • 23 Krul

Mexico

  • 13 Ochoa
  • 22 Aguilar Booked
  • 07 Layún
  • 15 Moreno (Reyes - 45' )
  • 04 Márquez Booked
  • 02 Rodríguez
  • 06 Herrera
  • 03 Salcido
  • 10 dos Santos (Aquino - 61' )
  • 19 Peralta (Hernández - 75' )
  • 18 Guardado Booked

Substitutes

  • 01 Corona
  • 05 Reyes
  • 08 Fabián
  • 09 Jiménez
  • 11 Pulido
  • 12 Talavera
  • 14 Hernández
  • 16 Ponce
  • 17 Brizuela
  • 20 Aquino
  • 21 Peña
Ref: Pedro Proença
Att: 58,817

Match Stats

Shots

13 10

On target

4 5

Corners

10 2

Fouls

8 12

Live Text Commentary

Full time

Full Time Match ends, Netherlands 2, Mexico 1.

90:00 +6:27 Full time

Full Time Second Half ends, Netherlands 2, Mexico 1.

90:00 +3:17 Goal scored

Goal! Goal! Netherlands 2, Mexico 1. Klaas-Jan Huntelaar (Netherlands) converts the penalty with a right footed shot to the bottom left corner.

90:00 +2:53 Booking

Booking Andrés Guardado (Mexico) is shown the yellow card.

90:00 +1:29 Booking

Booking Rafael Márquez (Mexico) is shown the yellow card for a bad foul.

90:00 +1:21

Penalty Netherlands. Arjen Robben draws a foul in the penalty area.

90:00 +1:21

Penalty conceded by Rafael Márquez (Mexico) after a foul in the penalty area.

90:00 +0:12

Attempt blocked. Memphis Depay (Netherlands) right footed shot from outside the box is blocked. Assisted by Wesley Sneijder.

89:11

Memphis Depay (Netherlands) wins a free kick in the defensive half.

89:11

Foul by Paul Aguilar (Mexico).

87:06 Goal scored

Goal! Goal! Netherlands 1, Mexico 1. Wesley Sneijder (Netherlands) right footed shot from the centre of the box to the bottom left corner. Assisted by Klaas-Jan Huntelaar with a headed pass following a corner.

86:51

Corner, Netherlands. Conceded by Miguel Layún.

85:19

Attempt blocked. Memphis Depay (Netherlands) right footed shot from outside the box is blocked. Assisted by Bruno Martins Indi.

84:11

Offside, Netherlands. Dirk Kuyt tries a through ball, but Klaas-Jan Huntelaar is caught offside.

83:44

Corner, Netherlands. Conceded by Miguel Layún.

81:18

Arjen Robben (Netherlands) wins a free kick on the left wing.

81:18

Foul by Carlos Salcido (Mexico).

79:14

Foul by Bruno Martins Indi (Netherlands).

79:14

Javier Aquino (Mexico) wins a free kick on the right wing.

78:46

Attempt missed. Carlos Salcido (Mexico) right footed shot from outside the box is high and wide to the right. Assisted by Andrés Guardado.

78:14

Delay over. They are ready to continue.

75:34

Delay in match (Netherlands).

75:15 Substitution

Substitution Substitution, Netherlands. Klaas-Jan Huntelaar replaces Robin van Persie.

74:40

Attempt missed. Ron Vlaar (Netherlands) header from the centre of the box is too high. Assisted by Arjen Robben with a cross following a corner.

74:28 Substitution

Substitution Substitution, Mexico. Javier Hernández replaces Oribe Peralta.

73:39

Corner, Netherlands. Conceded by Guillermo Ochoa.

73:38

Attempt saved. Arjen Robben (Netherlands) right footed shot from a difficult angle on the right is saved in the centre of the goal. Assisted by Georginio Wijnaldum.

72:37

Foul by Wesley Sneijder (Netherlands).

72:37

Paul Aguilar (Mexico) wins a free kick in the defensive half.

71:40

Attempt missed. Wesley Sneijder (Netherlands) right footed shot from outside the box is too high. Assisted by Arjen Robben.

69:33

Corner, Netherlands. Conceded by Diego Reyes.

68:21 Booking

Booking Paul Aguilar (Mexico) is shown the yellow card for a bad foul.

68:20

Memphis Depay (Netherlands) wins a free kick on the left wing.

68:20

Foul by Paul Aguilar (Mexico).

65:56

Offside, Mexico. Javier Aquino tries a through ball, but Oribe Peralta is caught offside.

64:48

Memphis Depay (Netherlands) wins a free kick in the attacking half.

64:48

Foul by Andrés Guardado (Mexico).

64:17

Attempt missed. Daley Blind (Netherlands) left footed shot from outside the box misses to the left following a corner.

63:56

Corner, Netherlands. Conceded by Rafael Márquez.

60:54 Substitution

Substitution Substitution, Mexico. Javier Aquino replaces Giovani dos Santos.

60:05

Corner, Netherlands. Conceded by Francisco Javier Rodríguez.

60:03

Attempt blocked. Wesley Sneijder (Netherlands) left footed shot from outside the box is blocked. Assisted by Arjen Robben.

56:44

Attempt saved. Stefan de Vrij (Netherlands) right footed shot from very close range is saved in the top centre of the goal. Assisted by Arjen Robben with a cross.

56:28

Corner, Netherlands. Conceded by Diego Reyes.

55:46 Substitution

Substitution Substitution, Netherlands. Memphis Depay replaces Paul Verhaegh.

55:18

Arjen Robben (Netherlands) wins a free kick in the defensive half.

55:18

Foul by Francisco Javier Rodríguez (Mexico).

55:01

Attempt saved. Oribe Peralta (Mexico) left footed shot from outside the box is saved in the bottom left corner. Assisted by Héctor Herrera.

53:50

Attempt missed. Daley Blind (Netherlands) left footed shot from outside the box misses to the right following a corner.

53:36

Corner, Netherlands. Conceded by Oribe Peralta.

53:18

Corner, Netherlands. Conceded by Diego Reyes.

52:33

Attempt blocked. Wesley Sneijder (Netherlands) right footed shot from outside the box is blocked.

51:38

Robin van Persie (Netherlands) wins a free kick in the attacking half.

51:38

Foul by Carlos Salcido (Mexico).

50:13

Attempt missed. Rafael Márquez (Mexico) header from the centre of the box is too high. Assisted by Héctor Herrera with a cross following a set piece situation.

49:50

Foul by Bruno Martins Indi (Netherlands).

49:50

Andrés Guardado (Mexico) wins a free kick on the right wing.

47:43 Goal scored

Goal! Goal! Netherlands 0, Mexico 1. Giovani dos Santos (Mexico) left footed shot from outside the box to the bottom right corner.

46:06

Foul by Ron Vlaar (Netherlands).

46:06

Oribe Peralta (Mexico) wins a free kick in the attacking half.

45:00

Second Half begins Netherlands 0, Mexico 0.

45:00 Substitution

Substitution Substitution, Mexico. Diego Reyes replaces Héctor Moreno because of an injury.

45:00 +4:29 Half time

Half Time First Half ends, Netherlands 0, Mexico 0.

45:00 +3:53

Delay over. They are ready to continue.

45:00 +2:28

Delay in match Héctor Moreno (Mexico) because of an injury.

45:00 +1:45

Foul by Stefan de Vrij (Netherlands).

45:00 +1:45

Giovani dos Santos (Mexico) wins a free kick in the defensive half.

42:31

Foul by Bruno Martins Indi (Netherlands).

42:31

Giovani dos Santos (Mexico) wins a free kick in the attacking half.

41:51

Attempt saved. Giovani dos Santos (Mexico) right footed shot from a difficult angle on the right is saved in the bottom left corner. Assisted by Andrés Guardado.

40:49

Corner, Netherlands. Conceded by Francisco Javier Rodríguez.

39:29

Georginio Wijnaldum (Netherlands) wins a free kick in the defensive half.

39:29

Foul by Andrés Guardado (Mexico).

34:41

Delay over. They are ready to continue.

31:22

Delay in match (Netherlands).

31:15

Foul by Paul Verhaegh (Netherlands).

31:15

Andrés Guardado (Mexico) wins a free kick in the defensive half.

27:59

Attempt saved. Giovani dos Santos (Mexico) left footed shot from outside the box is saved in the bottom right corner. Assisted by Oribe Peralta.

26:37

Attempt missed. Robin van Persie (Netherlands) right footed shot from the right side of the box misses to the right. Assisted by Stefan de Vrij.

23:21

Corner, Mexico. Conceded by Jasper Cillessen.

23:20

Attempt saved. Carlos Salcido (Mexico) right footed shot from outside the box is saved in the top left corner. Assisted by Miguel Layún.

19:55

Paul Verhaegh (Netherlands) wins a free kick in the defensive half.

19:55

Foul by Carlos Salcido (Mexico).

19:29

Corner, Mexico. Conceded by Ron Vlaar.

18:40

Foul by Robin van Persie (Netherlands).

18:40

Rafael Márquez (Mexico) wins a free kick in the defensive half.

16:41

Attempt missed. Héctor Herrera (Mexico) right footed shot from the centre of the box is close, but misses to the left. Assisted by Oribe Peralta.

8:39 Substitution

Substitution Substitution, Netherlands. Bruno Martins Indi replaces Nigel de Jong because of an injury.

7:32

Arjen Robben (Netherlands) wins a free kick on the left wing.

7:32

Foul by Héctor Herrera (Mexico).

6:58

Arjen Robben (Netherlands) wins a free kick in the defensive half.

6:58

Foul by Paul Aguilar (Mexico).

5:20

Robin van Persie (Netherlands) wins a free kick in the attacking half.

5:20

Foul by Héctor Moreno (Mexico).

4:13

Attempt missed. Miguel Layún (Mexico) right footed shot from outside the box is close, but misses to the left. Assisted by Héctor Herrera.

1:59

Attempt missed. Miguel Layún (Mexico) right footed shot from outside the box is too high. Assisted by Héctor Herrera.

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers