Germany will play France or Iceland in the Euro 2016 semi-final after beating Italy 6-5 on penalties following a 1-1 draw after extra time.
Mesut Ozil had opened the scoring for Germany on 65 minutes after a tight tactical battle, with Leonardo Bonucci levelling from the penalty spot with 12 minutes remaining as the game ended 1-1 after extra time.
But the penalty shoot-out itself would be dramatic as both sides passed up the opportunity to advance before Matteo Darmian missed Italy’s ninth penalty and saw Jonas Hector score to finally settle the contest.
Germany boss Joachim Low reacted to Italy’s set-up by starting with three centre-backs in a notable tactical switch.
The world champions were hit by an early injury to Sami Khedira, with the Juventus man forced off with a thigh injury to be replaced by captain Bastian Schweinsteiger.
The Manchester United man headed into the net on 26 minutes but the whistle had already gone for a push on Mattia De Sciglio.
The tactical battle may have been intriguing but chances were at a premium and Thomas Muller could only miskick an effort after the ball broke fortuitously to him inside the box.
Italy went straight down the other end and almost took the lead as Emanuele Giaccherini broke free and saw his cross pushed into the path of Stefano Sturaro, whose effort was blocked behind.
Muller, without a goal in European Championship finals, came close to breaking his duck at the start of the second half but saw his shot brilliantly cleared off the line by Alessandro Florenzi.
The game became scruffy with three yellow cards dished out by Hungarian referee Viktor Kassai in as many minutes.
The deadlock was broken just after the hour mark as Florenzi lost track of the ball and Mario Gomez played in Hector, whose cross sat up perfectly for Ozil to sweep home.
It should have been two just minutes later as Ozil’s perfect delivery found Gomez, whose first touch let him down before a back-heeled attempt was saved well by Gianluigi Buffon.
Less than 10 minutes later Italy were level after Jerome Boateng conceded a penalty after a glanced cross hit his outstretched arm.
Bonucci confidently tucked the resulting spot-kick past Manuel Neuer to level the contest – with Graziano Pelle miscuing a difficult chance moments later as Italy looked to complete the turnaround.
And neither side could muster up a clear-cut chance to settle the game without the need for extra time.
Germany substitute Julian Draxler hooked over the bar at the start of the second additional period after some unconvincing Italy defending allowed him to turn a shot towards goal.
Lorenzo Insigne was introduced and then shot straight at Neuer after turning well in the box and he was the first man to step up in the shootout, sending the Germany goalkeeper the wrong way to put Italy ahead.
Real Madrid’s Toni Kroos just beat Buffon to level before late substitute Simone Zaza thrashed his well over after an unorthodox run-up.
Muller became the first German to miss a penalty in a shootout since 1982 and after Andrea Barzagli had scored, Ozil hit the post – only for Pelle to scuff well wide for Italy.
Bonucci saw his attempt brilliantly saved by Neuer but Schweinsteiger could only send his well over and after goals for Giaccherini, Mats Hummels, Marco Parolo, Joshua Kimmich, De Sciglio and Boateng, substitute Darmian hit a poor penalty that was easily saved.
Hector finally struck the winning kick, with the ball passing beneath Buffon’s dive.