Three-time champions Spain survived another scare to beat 10-man Switzerland in a dramatic penalty shootout to reach the semi-finals of the European Championship.
Swiss substitute Ruben Vargas was in tears at full-time after he blasted his penalty over the bar, allowing Mikel Oyarzabal to score the decider for Spain.
Spain, ranked sixth in the world, also needed extra time to defeat Croatia in the last 16 despite leading 3-1 with five minutes of normal time to play.
They were in front in St Petersburg against Switzerland too – midfielder Denis Zakaria deflected Jordi Alba’s shot into his own net to give Spain an early lead.
Swiss captain Xherdan Shaqiri equalised following a mistake at the back by Spain but team-mate Remo Freuler was sent off nine minutes later.
They held on to force extra time and a shootout but missed three spot kicks which ultimately proved costly.
Spain will face the winner of Belgium v Italy (20:00 BST kick-off) at Wembley on Tuesday in the semi-finals.
Spain lack ruthlessness but scrape through
When Alba’s shot deflected in to put Spain 1-0 up in the eighth minute, there were hopeful signs for Luis Enrique’s side.
They had chances to extend their lead with Cesar Azpilicueta and Pau Torres both nodding wide from corners.
But Spain’s lack of ruthlessness in front of goal almost came back to bite them when Zakaria, earlier at fault for the own goal, came close with a header himself, while Steven Zuber was denied from close range.
Eventually it was a mistake at the back from Spain which gave Switzerland a lifeline. A mix-up between Aymeric Laporte and Pau Torres was pounced on by Freuler and he teed up Shaqiri, who could not miss.
But Freuler’s heroics were short-lived when he came sliding in late on Gerard Moreno and English referee Michael Oliver did not hesitate to show a straight red card.
Switzerland were clinging on for the remaining 13 minutes and defended bravely in extra time – Ricardo Rodriguez produced an excellent block to deny Marcos Llorente.
Moreno had the best chance two minutes into the added time when he fired wide from a few yards out and kicked the post in frustration.
But Spain – who missed two penalties in the shootout – did just enough to scrape through. Their toughest test yet will come in the last four against tournament-favourites Belgium or Italy.
- 3WidmerBooked at 67minsSubstituted forMbabuat 100′minutes
- 6ZakariaSubstituted forSchärat 100′minutes
- 8FreulerBooked at 77mins
- 7EmboloSubstituted forVargasat 23′minutes
- 23ShaqiriSubstituted forSowat 81′minutes
- 14ZuberSubstituted forFassnachtat 90+2′minutes
- 9SeferovicSubstituted forGavranovicat 82′minutesBooked at 120mins
- 24LaporteBooked at 90mins
- 4TorresSubstituted forThiago Alcántaraat 113′minutes
- 8KokeSubstituted forLlorenteat 90+2′minutes
- 26GonzálezSubstituted forRodriat 119′minutes
- 11TorresSubstituted forOyarzabalat 90′minutes
- 7MorataSubstituted forMorenoat 54′minutes
- 22SarabiaSubstituted forOlmoat 45′minutes
- 1de Gea
- 10Thiago Alcántara
- Michael Oliver
Match ends, Switzerland 1(1), Spain 1(3).
Penalty Shootout ends, Switzerland 1(1), Spain 1(3).
Goal! Switzerland 1(1), Spain 1(3). Mikel Oyarzabal (Spain) converts the penalty with a left footed shot to the bottom right corner.
Penalty missed! Bad penalty by Ruben Vargas (Switzerland) right footed shot is too high. Ruben Vargas should be disappointed.
Goal! Switzerland 1(1), Spain 1(2). Gerard Moreno (Spain) converts the penalty with a left footed shot to the top right corner.
Penalty saved! Manuel Akanji (Switzerland) fails to capitalise on this great opportunity, right footed shot saved in the bottom left corner.
Penalty saved! Rodri (Spain) fails to capitalise on this great opportunity, right footed shot saved in the bottom right corner.
Penalty saved! Fabian Schär (Switzerland) fails to capitalise on this great opportunity, right footed shot saved in the bottom left corner.
Goal! Switzerland 1(1), Spain 1(1). Dani Olmo (Spain) converts the penalty with a right footed shot to the top left corner.
Goal! Switzerland 1(1), Spain 1. Mario Gavranovic (Switzerland) converts the penalty with a right footed shot to the top left corner.
Penalty missed! Still Switzerland 1, Spain 1. Sergio Busquets (Spain) hits the left post with a right footed shot.
Penalty Shootout begins Switzerland 1, Spain 1.
Second Half Extra Time ends, Switzerland 1, Spain 1.
Attempt missed. Rodri (Spain) header from the centre of the box is too high. Assisted by Marcos Llorente with a cross.
Mario Gavranovic (Switzerland) is shown the yellow card.
Sergio Busquets (Spain) wins a free kick in the attacking half.
Foul by Mario Gavranovic (Switzerland).
Substitution, Spain. Rodri replaces Pedri.
Attempt saved. Gerard Moreno (Spain) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Sergio Busquets.
Attempt saved. Sergio Busquets (Spain) header from the left side of the six yard box is saved in the centre of the goal. Assisted by Dani Olmo with a cross.