Gregor Townsend's team made it five straight victories for only the second time in the professional era but for an hour that run looked under serious threat.
The hosts have lost 27 straight Six Nations games but it appeared they might be about to start this one-off tournament with a shock victory after Matteo Minozzi's stunning try capped off a brilliant first-half display.
Paolo Garbisi contributed 12 points but things dried up after the break and Scotland – who scored the afternoon's opening try through Duhan Van Der Merwe – were able to see out victory with further scores from Zander Fagerson, Scott Cummings and George Turner.
Duncan Weir, a boyhood Rangers fan, was making his first start in four years for the national team at the scene of the Light Blues' famous 2008 UEFA Cup win over Fiorentina as he replaced injured stand-offs Finn Russell and Adam Hastings.
The little number 10 was just as lethal as his footballing hero Nacho Novo as he contributed eight points with his boot – although he was denied a dream try on his return to Townsend's line-up by a forward pass.
Scotland's long-awaited win in Wales a fortnight ago was built on the brutality and dominance of their front eight but their pack toiled in Tuscany during the opening 40 minutes as Italy's pragmatic approach left the visitors trapped in their own half.
Two early Garbisi penalties were scant reward for just how authoritative the Azzurri were in the opening 20 minutes.
Scotland were forced to concede a free-kick and a penalty from the opening two scrum contests before being put into reverse gear at the third as they were driven back a good 10 yards by the rampaging Italian forwards.
That was perhaps explained by the sight of prop Rory Sutherland limping off injured soon after but it was clear Townsend's team were not going to get the comfortable afternoon they had been expecting.
Scotland did eventually get a foothold in opposition territory as Stuart Hogg twice turned down the posts to pin Italy back in the corner.
The decision paid off after 24 minutes with the opening try. Italy were forced to drag down the lineout maul and, with penalty advantage in their pocket, Scotland bundled somewhat haphazardly through a series of scrappy collisions before Van Der Merwe pulled off the wing to charge through a gap and put them on the board.
Weir's conversion nudged them ahead but only for two minutes as the hosts hit back with a stunner.
Marco Zanon steamrollered over the top of Weir in dismissive fashion before Marcello Violi and Mattia Bellini pin-balled some rapid offloads around Chris Harris and Hogg before Minozzi dived over to complete a classic score. Garbisi's conversion, however, hit the upright.
Italy's lead was stretched to seven points two minutes after the change of ends as Garbisi slotted another penalty.
A forward pass from Sam Johnson denied Weir his comeback try moments later as the TMO intervened to alert referee Luke Pearce.
But the officials could find nothing wrong with Fagerson's touchdown four minutes later as Italy inexplicably switched off to allow the prop to dawdle over the line.
A couple of brave, flat passes from Weir took Scotland into the Italian 22 but Fagerson could barely believe his luck when the hosts stopped dead as Hamish Watson's offload from the floor deflected off Jake Polledri's hand into his grasp and had to be told by team-mates to flop over before the Azzurri came to their senses.
Weir's conversion brought the scores level but Italy came roaring back.
However, they will certainly be frustrated that they could only take another Garbisi penalty from a raid that looked so promising at one stage.
The Scots had it all to do in the final quarter but a big Watson turnover was the momentum-changer they needed.
Replacement hooker Turner punctured a huge hole in the Italian defence as Cummings timed his charge perfectly to crash over the line for the decisive try.
Turner then secured the bonus-point win with four minutes left as Italy's resistance crumbled in the face of another Scottish line-out drive.