You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
First-half tries to front-rowers Lorenzo Cittadini and Leonardo Ghiraldini, as well as a penalty try awarded just after the hour, were enough to see the Azzurri to their third straight win.
They still have significant work to do, however, to move up to the level of their Six Nations rivals - let alone New Zealand and Australia, who they meet over the next two weeks.
"I'm happy...because above all we won, despite having committed a lot of errors, which we will work on in the week," said 29-year-old prop Cittadini, who only started playing the sport when he was 16-years-old and supported local team Rugby Brescia as a boy.
"We know that we have to do better next week, however I couldn't have hoped for better than this today."
Italy got off to a fast start, crossing the line with only six minutes gone thanks to man-of-the-match Cittadini, but Tonga were more than a match for their hosts and pulled into the lead through prop Alisona Taumalolo just after the half hour.
Ghiraldini grabbed the lead back for the hosts on the stroke of halftime, handing them an 18-16 advantage heading into the second half.
Italy thought they had the match sewn up when they were awarded a penalty try, converted by Kris Burton, just after the hour which extended their lead to 12 points.
However Jacques Brunel's side, who still haven't shaken off their habit of making unforced errors, went to sleep and allowed Fetu'u Vainikolo to pounce onto a smart diagonal kick on 67 minutes to shave the deficit to only five points.
Italy managed to hold on to their lead however, and record a welcome confidence boost ahead of the tougher challenges to come against the world champion All Blacks, and Australia.