Southampton striker Manolo Gabbiadini scored as Italy thrashed Liechtenstein 5-0 to remain level on points with group leaders Spain.
Italy had 37 shots in a dominant performance but were frustrated until they scored three late goals.
Manager Giampiero Ventura said: “The first half was useful because it taught us that if you try to do too much, you end up doing nothing.
“Everything went well in the second half when our play was more lucid.”
Man of the match Lorenzo Insigne gave Italy the lead with a superb goal, flicking a cross up on to his chest before firing in off the post.
Napoli forward Insigne played Andrea Belotti through to score the second, before substitute Eder volleyed in the third.
Federico Bernardeschi, another substitute, added the fourth with a long-range shot and Gabbiadini turned in Leonardo Spinazzolo’s pass for his first international goal since 2015.
Juventus goalkeeper Gianluigi Buffon did not have to make one save in his 169th appearance as he moved to fifth in the all-time list of international caps.
Italy and Spain both have 16 points, but with only the group winners guaranteed a place at next year’s finals in Russia, one of the European giants are set to be in the play-offs.