Lorenzo Insigne helped Italy come from behind to beat Bosnia and Herzegovina 2-1 in their Euro 2020 Group J qualifier in Turin, where Marco Verratti scored a late winner.
The Azzurri made it four straight wins to stay at the top of the table but needed to produce a determined second-half display.
Edin Dzeko had fired the visitors into the lead in the 32nd minute following a swift counter attack.
Muhamed Besic's flick put Edin Visca away down the right and he cut the ball back for Roma striker Dzeko to score his first international goal for five games – and a first Italy had conceded in the qualifying campaign so far.
Italy looked to respond as Fabio Quagliarella saw his effort pushed away by goalkeeper Ibrahim Sehic.
Azzurri boss Roberto Mancini sent on Fiorentina winger Federico Chiesa for the second half, and the home side were soon back on level terms four minutes following the restart.
Federico Bernardeschi floated a corner out to the edge of the penalty area, where Insigne crashed a volley into the top corner.
Both sides pressed for a winner, with Dzeko always a threat while Visca saw a shot pushed over the crossbar by Italy keeper Salvatore Sirigu.
Italy, though, gained the upper hand during the closing stages, with Bosnia and Herzegovina looking to make the most of any opportunity on the counter.
With four minutes left, Napoli frontman Insigne got away down the left and cut the ball back for Verratti, who slid his shot into the bottom corner to secure a hard-earned win and maintain Italy's 100 per cent record.