Spain needed penalties to get the better of Switzerland and advance to the semi-finals of Euro 2020 on Friday, setting up a clash against Belgium or Italy who were playing each other later in Munich.

European champions in 2008 and 2012, Spain beat Switzerland 3-1 on penalties after their quarter-final tie in Saint Petersburg finished 1-1 at the end of extra time, with Mikel Oyarzabal scoring the winning kick.

Earlier Luis Enrique's side appeared to be coasting as Jordi Alba's shot deflected in off Denis Zakaria for an own goal to put Spain ahead in the eighth minute.

Kevin De Bruyne was passed fit to start for Belgium against Italy in Munich
Kevin De Bruyne was passed fit to start for Belgium against Italy in Munich POOL / STUART FRANKLIN

However, the Swiss had caused a sensation by eliminating world champions France in the last 16 and they battled back to equalise midway through the second half when a disastrous defensive mix-up between Spain centre-backs Aymeric Laporte and Pau Torres allowed Xherdan Shaqiri to score.

Switzerland then held on through extra time after midfielder Remo Freuler was sent off in the 77th minute for a challenge on Gerard Moreno.

They had converted all five of their penalties in the shoot-out against France and this time they were given a head-start when Sergio Busquets hit the post with Spain's first effort.

Rodri also failed to score for Spain but Unai Simon saved from Fabian Schaer and Manuel Akanji before Ruben Vargas blazed over.

Italy fans in the Allianz Arena for their team's match against Belgium
Italy fans in the Allianz Arena for their team's match against Belgium POOL / Matthias Hangst

Oyarzabal's kick allowed Spain to go through and help banish the memory of their defeat on penalties in the last 16 of the 2018 World Cup against the hosts in Russia.

Spain players celebrate beating Switzerland on penalties in the Euro 2020 quarter-finals
Spain players celebrate beating Switzerland on penalties in the Euro 2020 quarter-finals POOL / Kirill KUDRYAVTSEV

Friday's game went ahead in Saint Petersburg despite major concerns about a surge in coronavirus cases in the Russian city, fuelled by the Delta variant.

Earlier on Friday, Russia reported 679 coronavirus deaths over the previous 24 hours, setting a pandemic high of fatalities for the fourth day in a row. Saint Petersburg recorded 101 deaths.

An attendance of almost 25,000 watched the game in the Krestovsky Stadium, which has welcomed some of the largest crowds permitted at this pandemic-affected European Championship.

Spain now advance to a last-four tie in London next Tuesday against Belgium or Italy.

Manuel Akanji was one of three Swiss players who failed to score in the penalty shoot-out
Manuel Akanji was one of three Swiss players who failed to score in the penalty shoot-out POOL / Kirill KUDRYAVTSEV

Friday's second game was a meeting between the top-ranked side in the world in Belgium and an Italy team who have set a national record of 31 matches unbeaten.

These were the only sides to win all 10 games in qualifying and the only teams along with the Netherlands to win every match in the group stage.

"You are seeing the two best teams statistically in this competition," said the Belgium coach, Roberto Martinez, whose side saw off holders Portugal in the last round.

"We had to face Portugal really early and now Italy and I think it is a shame for both national teams that we face each other at this stage."

All week in Belgium the build-up to the quarter-final has been dominated by news of the fitness of Kevin De Bruyne and Eden Hazard -- De Bruyne was passed fit to start but Hazard lost his race to be ready.

Italy were arguably the most impressive side of all during the group stage as they put a total of seven goals without reply past Turkey, Switzerland and Wales in Rome.

They laboured to get the better of Austria in extra time at Wembley in the last 16 but their coach, Roberto Mancini, was looking forward to facing a Belgium team preferably at full strength.

"Belgium are a brilliant team. They have been top of the FIFA world rankings for three years. We are performing well and I think for a spectator, a neutral, it would be great to see them at full strength," Mancini said.

The remaining quarter-finals will be played on Saturday, when England -- fresh from beating Germany -- play Ukraine in Rome.

England may not have many fans in the Stadio Olimpico due to Italian coronavirus rules which mean all arrivals from the United Kingdom have to quarantine for five days.

Denmark play the Czech Republic in Baku exactly three weeks on from Christian Eriksen's cardiac arrest in the Danes' first match at the tournament.

Eriksen was discharged from hospital less than a week after his collapse after having a defibrillator implanted to regulate his heart rate, and without him Kasper Hjulmand's team have rallied to reach the last eight.

"We will play with the heart of Christian Eriksen. He is the heart of the team still and with that heart and without fear, we will try," said Hjulmand.