Earlier, Israel reached the last four when they beat hosts Georgia on penalties after their quarter-final finished 0-0 in Tbilisi.
In Romania, Spain was consistently threatening and took the lead after 68 minutes. Captain Abel Ruiz rolled the ball into the path of Sergio Gomez. The Manchester City youngster curled a left-foot shot low and inside the post.
Spain had chances to increase their lead, but a combination of wasteful finishing and acrobatic goalkeeping by Aimir Saipi kept the game close.
A minute into added time, Switzerland pounced with a quick counter-attack finished sharply by Basel striker Zeki Amdouni.
Spain again took the initiative in extra time.
At the end of the first half, defender Miranda lashed in a hopeful long-range shot that Lewin Blum attempted to block on the edge of the box.
As Blum turned his back, the ball struck his shin and looped inside the far post with Saipi heading in the other direction.
Earlier, in a battle between two teams playing in the knock-out round of the competition for the first time, Israel won the shootout 4-3.
Goalkeeper Daniel Peretz saved one penalty, Giorgi Gagua and Saba Khvadagiani then hit a post, while all four Israelis who took penalties found the bottom left-hand corner of the net.
From open play, Israel had two great chances in the first half.
Centre forward Dor Turgeman shot wide after five minutes and Georgian goalkeeper Giorgi Mamardashvili saved from Israeli star Oscar Gloukh after 33 minutes.
Georgia dominated the second half but rarely threatened.
Peretz, who saved two spot kicks in Israel’s opening 1-1 draw with Germany, then gave his side an advantage by diving to his right to save Gagua’s tame effort.
Spain will stay in Bucharest where they will play the winner of Sunday’s quarter-final in Cluj-Napoc between France and Ukraine.
Israel will face the winner of Sunday’s other quarter-final between England and Portugal in Kutaisi, Georgia.
AFP