- Yeremy Pino (3')
- Joselu (88')
- Ciro Immobile (11' Pen)
Spain capitalised on a defensive lapse to take the lead inside three minutes as Yeremy Pino produced a cool finish, but when debutant Robin Le Normand handled the ball in the box, Italy's Ciro Immobile scored his first international goal in two years from the penalty spot.
Extra-time looked inevitable as both teams ran out of ideas in search of a winner, and perhaps fittingly it came in bizarre circumstances when Rodri's fierce shot bounced off two defenders and fell kindly for Joselu to poke home from four yards.
Spain now face a Croatia side who they beat 5-3 after extra-time in the round of 16 at the Euro 2020 finals.
"The team played a great game," Joselu told reporters. "We dominated almost the entire second half, just the goal was missing.
"I was alone after Rodri's shot, it fell (to me) and I was confident I wasn't offside. I'm happy for my goal because we're now into a final with a chance to win a trophy."
Thursday's result in Enschede was a repeat of their 2021 semifinal and became a battle between Spain's possession game and Italy's ability to hit them on the counter-attack with swift breaks.
Spain enjoyed 61% of the ball, but as has been the case for them in recent times struggled to make use of it.
They were gifted the opener when Leonardo Bonucci was caught in possession by Yeremy, and the Spaniard slid the ball into the far corner.
But Italy struck back straight away with good fortune of their own. They were awarded a clear penalty when debutant centre-back Le Normand handled the ball in the box and Immobile sent Spain goalkeeper Unai Simon the wrong way from the spot.
Italy thought they had hit the front when Jorginho's excellent pass put Davide Frattesi through on goal, but his calm finish was in vain as he was ruled offside by inches.
Spain were a whisker away from regaining the lead when Mikel Merino's shot was brilliantly saved by Gianluigi Donnarumma and Alvaro Morata put the loose ball inches wide of the post.
At the other end, Simon made a magnificent stop to deny Davide Frattesi from a swift Italian break.
The game fell into a lull in the final 20 minutes before Joselu, who had only been on the pitch three minutes, was in the right place at the right time to guide Spain into another final.
"Spain deserved it, even if they only found the goal right near the end. We set up slightly differently, but we couldn't do much in the second half," Italy coach Roberto Mancini told RAI.
- Slavko Vincici