After Alvaro Morata’s penalty was saved, Jorginho strolled up to score and set up a final with either England or Denmark in London on Sunday.
But Morata stepped off the bench to slot an equaliser with 10 minutes to go after a one-two with Dani Olmo.
However, the Juventus forward’s penalty miss in the shootout proved costly as Spain lost a semi-final for the first time in their history.
Fears about an empty stadium or quiet crowd proved unfounded despite tickets still being on sale during the day, and with fans unable to fly from either country without having to quarantine for too long to watch the game.
Roberto Mancini’s Italy side have been arguably the best team in the tournament – and had won their previous 13 games – and deserve their place in the final.