Goalkeeper Unai Simon saved two penalties as Spain beat 10-man Switzerland 3-1 in the shootout to secure a place in the semifinals of Euro 2020.
After Friday’s 1-1 draw in St Petersburg that saw Switzerland play 43 minutes with one man, Simon made two saves in the shootout to help Spain’s bid to retain a record fourth European crown.
It was heartbreak for Switzerland, who are seeking to reach the semi-finals of a major tournament for the first time in their history.
Spain went ahead when Denis Zakaria put the ball into his own net, but Switzerland were the better side for a long time and Xherdan Shaqiri, replacing Granit Xhaka who was suspended as captain, equalized in the 68th minute.
Switzerland were reduced to 10 men with 13 minutes remaining, though, when midfielder Remo Freuler was controversially sent off for a tackle on Gerard Moreno.
Swiss goalkeeper Yann Sommer, the hero of the penalty shootout victory over world champions France in the last 16, made a string of fine saves in extra time.
But Simon saved from Fabian Schaer and Manuel Akanji, while Ruben Vargas exploded in a tense finish as Spain broke through, with Mikel Oyarzabal scoring the winner with a penalty.
Spain advance to Tuesday’s semi-finals at Wembley against Italy.
Having scored 10 goals in the previous two games, it is a return to the kind of extravagant form that saw Spain draw in their first two group games against Sweden and Poland.
But the 2008 and 2012 winners made an early dream for this quarter-final, taking a lucky lead in just eight minutes.
A corner was thwarted only until Jordi Alba, whose left-footed volley was diverted past Sommer by Swiss midfielder Zakaria, only to play for Xhaka.
It was his 10th own goal at Euro 2020, more than the other 15 editions combined.
Alvaro Morata squandered a good chance by heading too close to Sommer when he went unmarked, but then Switzerland started to progress into the game.
Silvan Widmer’s header went off target from a corner before Steven Zuber thought he had won the penalty only to be marked offside.
Spain coach Luis Enrique brought on Dani Olmo for Pablo Sarabia in the first half and the RB Leipzig man threatened within 60 seconds, seeing his low volley well blocked by Sommer.
Zakaria came close to an own goal earlier when his header went wide.
Switzerland had the better chance to equalize in the 64th minute, when Shaqiri sparked a quick counter-attack that ended with Spain goalkeeper Simon reacting well to hold off Zuber’s stabbing effort at the near post.
But the underdogs found the equalizer they deserved four minutes later, when Freuler tapped a loose ball after a mistake in the Spanish defense and gave Shaqiri a chance to slip into the far corner and score his third goal of the tournament.
The pattern of play changed in the 77th minute, when referee Michael Oliver ordered Freuler to tackle Spain substitute Moreno.
Switzerland managed to keep Spain at bay until the end of normal time with relative ease, but in the third minute of the added half-hour, Moreno should have put Spain back in front, only to miss Alba’s cross from close range.
Switzerland were perhaps lucky that no other player was sent off shortly after, as Widmer escaped a second yellow card for a cynical foul on Olmo.
Moreno somehow missed another golden opportunity, saved from close range by Sommer, before the Borussia Moenchengladbach keeper made a superb diving save from Oyarzabal.
Sommer made eight saves in extra time alone, but one in the shootout from Rodri was not enough, although Sergio Busquets also hit the post, as Switzerland missed three of their four penalties.