The deadlock couldn’t be broken in extra time, but Jesus Navas slotted home from the spot to give Spain a 7-6 win on penalties.
Vicente Del Bosque gave Iker Casillas and Fernando Torres their places in the starting XI back after being rested for the win against Nigeria, whilst Italy started with Alberto Gilardino up front in place of the injured Mario Balotelli.
And it was La Roja who got off to the brighter start with Pedro firing past Gianluigi Buffon inside two minutes, but his shot also glided past the post. The Azzurri weren’t to be outdone however, and almost opened the scoring themselves after 10 minutes, only for Christian Maggio’s header to sail over the bar.
After a frenetic start the game settled into a steady rhythm, but it was Cesare Prandelli’s men who were coming out on top. The World Cup-winners may have had the possession, but Italy were creating the better chances, with Claudio Marchisio and Gilardino both going close.
Maggio forced a superb save from Casillas and Torres went close after an intelligent turn in the box, but neither side could do enough to finish before the break.
After the interval, Del Bosque’s side started to worry Buffon slightly more frequently. A couple of set pieces almost went close and a rifled effort from Jesus Navas saw the Juventus man tested down to his right.
As in the first half though, Italy weren’t down be tied down and were once again carving open the Roja’s backline. Marchisio and Antonio Candreva had efforts blocked and Giorgio Chiellini saw his looping header drift over after 75 minutes.
Gerard Pique and Navas both had golden opportunities to win the match late on, but both fluffed their lines as the game went into extra time.
Into the added 30 minutes, and it didn’t take long for the Azzurri to trouble Casillas once again – Giaccherini this time rifled a shot at goal, only to see it hit the upright and bounce away.
Neat play from Andres Iniesta saw Jordi Alba through on goal, but the Barcelona left-back could only shoot over from close-range with both sides desperate not to go to penalties.
Xavi had a long-range effort cannon back off the post late on in the second half, so to penalties we went.
And from the spot, after six perfect penalties, Leonardo Bonucci blazed over before Jesus Navas slotted in to take Spain to the Confederations Cup final.
Spain 0-0 Italy (Spain win 7-6 on penalties)
Spain: Casillas; Arbeloa, Ramos, Pique, Alba; Busquets, Xavi, Iniesta; Pedro (Mata 80), Torres (Javi Martinez 93), Silva (Navas 53)
Italy: Buffon; Bonucci, Chiellini, Barzagli (Montolivo 45); Giaccherini; De Rossi, Pirlo, Marchisio (Aquilani 80), Maggio; Candreva, Gilardino (Giovinco 90)