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.
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.
Need a VPN? Or seeking to switch? Then support Tribal Football by clicking here to sign up with our official partners NordVPN. Not only will you receive the best VPN experience, but also great discounts by signing up via Tribal Football. Thanks for your support!