After a goalless first half, Ciro Immobile's first international goal in more than two years had the visitors ahead at the Tampere Stadium, only for Norwich striker Teemu Pukki to equalise with a penalty 13 minutes later.
However, Jorginho responded with a penalty of his own, after Sauli Vaisanen had been penalised for handball, to win the contest for Roberto Mancini's men and maintain their 100 per cent qualifying record.
The result leaves the Azzurri top of their group with 18 points from six matches, with second-placed Finland now just three ahead of Armenia following the latter's win against Bosnia-Herzegovina.
Finland started brightly and Joona Toivio went close to giving them the lead at the far post after a corner had not been cleared – but he could not find the target.
Chelsea defender Emerson limped off in the eighth minute and his replacement, Alessandro Florenzi, fired an effort wide for Italy.
Finland goalkeeper Lukas Hradecky saved acrobatically from Stefano Sensi in the 27th minute and the visitors had the remainder of the chances in the first half, with Nicolo Barella and Immobile both threatening.
The hosts struggled to make much impact in the early stages of the second half and found themselves behind in the 59th minute when Immobile headed in Federico Chiesa's cross. It was the Lazio striker's eighth goal for his country but his first since September 5, 2017.
Finland were level in the 72nd minute, however. Pukki was clipped by Sensi as he ran into the box and Scottish referee Bobby Madden awarded a penalty, which Pukki fired past Hradecky.
After conceding only their third goal in eight matches, Mancini's men went in search of a winning goal.
And they got it with 11 minutes remaining after Barella's shot was handled in the penalty area by Vaisanen and Madden again pointed to the spot.
Chelsea midfielder Jorginho took the kick and calmly beat Bayer Leverkusen goalkeeper Hradecky low to his left to maintain Italy's winning run.