Playing with a momentum that may be hard to stop, the Azzurri may take some stopping if they continue to play as well as they did in Saint-Denis.
David De Gea made a smart save from a Graziano Pelle header as Italy looked for an early opening while Spain offered little in the way of an attacking threat, despite David Silva’s best efforts to spark life into his team-mates.
Italy again went close when Emanuele Giaccherini’s overhead kick was pushed on to the foot of the post by De Gea but the referee deemed the attempt dangerous play.
It seemed just a matter of time before Italy struck and on 33 minutes, they finally did when Giorgio Chiellini bundled the ball home after De Gea failed to hold a free-kick.
Just before the break Giaccherini cut inside and sent a powerful shot towards the top corner only for De Gea to superbly tip the ball over.
Spain improved after the break and starting asking questions of Italy in the opening minutes of the second period but the first real chance fell to the Azzurri on 55 minutes as Eder raced clear only to be denied by yet another fine De Gea save.
The longer the game went on, the more frustrated became with Iniesta and Silva unable to unpick a resolute Italian defence, though a fierce Iniesta volley on 76 minutes at least made Buffon work – as did Pique a minute later.
And Pique almost grabbed a dramatic last-minute equaliser as he sent in a close-range volley that was superbly saved by Buffon.
A minute into added time Pelle stabbed the ball home from close range to double Italy’s lead and end the contest – as well as avenging the exits at Euro 2008 and Euro 2012 at the hands of the Spanish.
Italy will now face Germany in the quarter-finals.