Despite playing at far from their best and with chances to find the net at a premium, a total of 120 minutes failed to separate the two sides as the game ended 0-0. And after Bruno Alves rattled the bar with Portugal's fourth penalty of the shoot-out, it was left to Cesc Fabregas to score the winner.
Vicente del Bosque sprung a surprise before kick off as he made one change to the side that defeated France in the quarter-finals, electing to start with Alvaro Negredo in attack ahead of both Fabregas and Fernando Torres.
His Portuguese counterpart Paulo Bento also made one alteration, with Hugo Almeida replacing the injured Helder Postiga after naming the same side for their six previous competitive fixtures.
The Seleccao set about disrupting Spain's rhythm immediately by pressing their opponents high up the pitch. It worked for the opening few minutes as La Roja struggled to get their foot on the ball but they soon forged a chance for themselves.
Andres Iniesta played a give-and-go down the left flank with Jordi Alba before passing the ball into the box. Negredo could not get a shot away but managed to stab it back to the top of the penalty area where Alvaro Arbeloa tried to caress it into the top corner but his attempt flew over the bar.
|Spain have the nerve of champions|
Bento's men continued their high-intensity pressing and Spain were unable to get the most out of Xavi when on the ball. A long delivery forward resulted in an opportunity for Iniesta but he failed to hit the target, and moments later Ronaldo pulled an effort wide of the goal.
Spain continued to look uncomfortable on the ball and just nine minutes after the restart Del Bosque had to concede that his pre-match gamble had not paid off as he replaced Negredo with Fabregas.
Portugal were getting a lot of joy from putting the Spaniards under pressure in their own half but Almeida failed to make the most of it in the 57th minute. After his side won the ball back he could have passed to Nani or Ronaldo but instead produced an ambitious shot from 35 yards that did not work Casillas.
Shortly after the hour mark Spain began to have their best spell of possession in the opposing half but there remained little to separate the two sides as the tension mounted. Xavi got the game's first shot on target with a drilled attempt that was straight at Rui Patricio, shortly followed by a Ronaldo free kick that flashed over the bar.
In the 90th minute Portugal found themselves in a four-on-one but when the ball was shifted to the left, Ronaldo failed to make a solid connection and blazed his well off target in what was the last opportunity of normal time.
As the Seleccao grew tired they were no longer forcing their opponents to play from deep, instead allowing them to control the ball in their own half during much of extra time. Del Bosque's side dominated the extra 30 minutes but Rui Patricio brilliantly thwarted both Iniesta and Jesus Navas either side of the interval to ensure the game went to a penalty shoot-out.
Both teams got off to the worst start possible as Patricio and Casillas both saved from Alonso and Moutinho respectively. Iniesta, Pepe, Pique, Nani and Ramos all scored - including a 'Panenka' from the latter - before Bruno Alves hit the bar to make the score 3-2 to Spain after four spot-kicks each.
It offered Fabregas the chance to book their spot in the final and he obliged, scoring via the post and setting up a date in Kiev for the final with either Germany or Italy on July 1.