Italy needed extra time to see off battling Austria at Wembley and set up a Euro 2020 quarter-final against Belgium or Portugal.
Austria marked their first appearance in the knockout stage of the European Championship with a tireless performance to give their much-fancied opponents a scare.
Marko Arnautovic had a headed goal disallowed after a VAR check for offside in normal time when the game was goalless before goals from substitutes Federico Chiesa and Matteo Pessina sent Italy through.
Chiesa showed terrific technique to bring the ball down and beat Daniel Bachmann from an angle while Pessina, who scored in the group game against Wales, doubled the score from close range.
Austria pulled a goal back through Sasa Kalajdzic’s brave header, the first goal Italy have conceded in 12 games, but the Azzurri’s 31st match without defeat – a new national record – sees them march on.
Italy had the best of the first-half chances as Nicolo Barella was denied by Austria’s Watford keeper before Ciro Immobile struck the post from 25 yards.
Austria produced a terrific defensive display to frustrate the four-time world champions, while creating opportunities of their own.
Arnautovic put one chance over the bar and, with another, fired straight at the keeper, while David Alaba went close from a free-kick before the disallowed goal.
Italy will meet the winners of Sunday’s last-16 game between Belgium, the top-ranked side in the world, and holders Portugal in the quarter-finals in Munich on 2 July.
Substitutes win it for Azzurri
Roberto Mancini’s Italy have been one of the standout teams at Euro 2020 but they struggled to repeat the form which earned them three straight group wins in what was their first match away from Rome.
They were lacklustre after half-time and it was only when Mancini made changes that they finally got themselves in front.
Chielsa and Pessina scored in the space of 10 first-half extra-time minutes to take the game away from Austria, who had been written off before the match.
Even then Kalajdzic, another substitute, was allowed to pull a goal back and make it a tense ending before Italy’s fans in the 18,910 crowd were finally able to celebrate.
Mancini has got Italy believing again – but they will have to play better than this if they are to win the next match and reach the semi-finals.