Giorgio Chiellini and Graziano Pelle scored the goals as Italy exacted revenge for their Euro 2012 final hammering by dumping Spain out of Euro 2016 with a deserved 2-0 last 16 win in Paris on Monday.
Chiellini forced home the winner from close range after goalkeeper David de Gea could only parry Eder's fiercely struck free-kick. Pelle volleyed in a deflected cross in injury time to complete Spain's heartbreak.
After crashing out of the World Cup in the first round, Vicente del Bosque's team have now failed to get to the Euro quarter finals.
A series of De Gea saves kept Spain in the game, but their quest for an unprecedented third consecutive Euro title peetered out as Gianluigi Buffon saved from Andres Iniesta and Gerard Pique late on to set up a mouthwatering quarter-final clash with Germany on Saturday in Bordeaux.
Spain had lost just one of their previous 11 meetings with Italy, including a 4-0 win in the Euro 2012 final. But the Azzurri were by far the better side in the opening 45 minutes and could have been more than one goal up at the break.
De Gea had been much-criticised for his performance as Spain's 15-game unbeaten in the Euros came to an end on Tuesday with a 2-1 defeat to Croatia which cost them top spot in Group D.
However, the Manchester United stopper more than made amends when he turned Pelle's bullet header wide on eight minutes.
Emanuele Giaccherini's acrobatic effort was then turned onto the post by De Gea, albeit referee Cuneyt Cakir had already blown for a foul as Italy continued to dominate the early exchanges.
It took Spain 28 minutes to even have an effort on goal as Iniesta's weak shot was straight at Buffon.
Antonio Conte's side finally made the breakthrough 12 minutes before half-time when Spain captain Sergio Ramos unncessarily dived in on Pelle to concede a free-kick on the edge of the box.
Eder's powerful effort was parried by De Gea only as far as Giaccherini and he nudged the ball into Chiellini's path to bundle home.
Only a De Gea wonder save to tip a fiercely dipping drive from Giaccherini over kept Spain in the game before half-time.
Spain coach Vicente del Bosque introduced the more physical presence of 35-year-old striker Aritz Aduriz for Nolito at the break.
And it nearly paid dividends straight away as Alvaro Morata -- kept quiet in the first 45 minutes by former Juventus teammates Chiellini, Andrea Barzagli and Leonardo Bonucci -- headed a golden chance straight at Buffon.
De Gea was called upon once more to block from Eder when the Brazilian-born Inter Milan forward burst clear on goal with the chance to double Italy's advantage.
Another Italy counter-attack then caused chaos in the Spanish defence as Mattia de Sciglio's low cross ricocheted around the box before being cleared.
Aduriz swept the ball wide and Ramos headed over from a corner as Italy began to settle on their one-goal lead in the final quarter.
Iniesta's rasping volley was tipped over by Buffon, before Pique's long-range effort stung the palms of the 38-year-old.
However, with Aduriz having to be replaced by Pedro Rodriguez due to a head knock, Spain didn't have a recognised striker in their search for an equaliser in the final 10 minutes.
Italy comfortably held on and Pelle doubled the lead with his poacher's strike in the first minute of injury time.