The Swiss captain Granit Xhaka was suspended after having a man-of-the-match performance against the World Champions in the last round.
Spain scored the first goal in the 8th minute when Jordi Alba’s shot was deflected by Denis Zakaria, who just returned to the squad.
Breel Embolo was forced off after getting a possible hamstring injury in the 22nd minute and was replaced by Ruben Vargas.
The first half ended with Spain scoring that early goal through an own-goal.
Spain lost their main striker Álvaro Morata in the 54th minute due to a possible injury and Gerard Moreno came on for him.
Zakaria almost redeemed himself in the 56th minute when he headed the ball from a corner just past the outside of the post while leaving the goalkeeper motionless.
Vargas went past two players and found Steven Zuber but his shot was saved by the Spanish goalkeeper past the hour-mark.
After a mistake by Aymeric Laporte and Pau Torres, Remo Freuler took full advantage by assisting Xherdan Shaqiri in the 68th minute to bring the game back level.
However, in the 77th minute, Freuler was given a straight red card after the referee deemed his sliding tackle dangerous, which seemed harsh.
Switzerland managed to take the game to extra time. Jordi Alba’s first time cross found Moreno but he failed to hit the target in the 2nd minute of extra time.
Moreno could have scored the winner in the 10th minute of extra time but Yann Sommer’s heroic save kept Switzerland in the game. This continued a couple of minutes later when Mikel Oyarzabal’s curling shot was saved.
Marcos Llorente’s shot from inside the box was blocked by Ricardo Rodríguez with 10 minutes left to play.
The game was decided in a penalty shootout with Sergio Busquets missing the first shot but after a couple of saves by both goalkeepers, Spain snatched the win after Vargas blasted his penalty over the bar while Oyarzabal scored the winning goal.
Spain qualify to the semi-finals of the Euros while Switzerland can go home proud after almost causing another upset.
Source of Image: UEFA EURO 2020 via Twitter