Jerry Flannery and Tommy Bowe crossed but controversy shrouded the Ulster winger's try as he did not appear to ground the ball properly.
The boot of fly-half Ronan O'Gara did the rest as Ireland struggled to dispatch traditionally the championship's weakest team.
Italy's display gives them real hope of avoiding the wooden spoon yet again and Mirco Bergamasco's try was the least they deserved.
Gonzalo Canale provided the initial threat as he burst through the midfield before the ball was spun left where neat handling from Marco Bortolami released Ludovico Nitoglia.
The Calvisano winger was quickly bundled into the touch but Italy's desire to move the ball wide had put Ireland under early pressure that remained until Paul Griffen knocked on.
O'Gara fired a crossfield bomb for Bowe but the ball fell just beyond the Ulster winger as Ireland broke from their own half.
Italy were soon back on the offensive, however, showing plenty of invention with a pre-planned backs move that saw the ball swept right and then left.
Griffen took possession and slipped a grubber behind Shane Horgan who conceded a penalty for not releasing and Ramiro Pez drew first blood with the ensuing kick at goal.
Some thunderous defence prevented Ireland and from building any momentum when they attacked.
Italy's defence was carved open in the 22nd minute when a long pass from O'Gara found Geordan Murphy bursting into the line from full-back and the Leicester ace drew Cristian Stoica and fed Bowe.
With only 15 metres to the line Bowe should have finished the chance but a stunning cover tackle from Pablo Canavosio saved Italy.
Horgan nearly barged his way over on the right after Flannery and David Wallace combined to create the chance but Ireland could not be denied in the next move.
O'Connell stole a line-out on Italy's throw and the Irish pack surged forward, eating up the 10 yards to the whitewash before barging Flannery over for the opening try.
O'Gara converted but the Azzurri were back in front in the 28th minute when fly-half Pez ran outside his opposite number and found Mirco Bergamasco.
The Stade Francais centre rode O'Driscoll's despairing tackle and touched down with his outstretched arm. Pez converted to give Italy a 10-7 lead.
O'Gara slotted a penalty to level the scores and Italy's problems deepened with Pez being sent to the sin bin.
Italy raced out of the blocks in the second half and nearly crossed with Canavosio wriggling his way past several tackles before being stopped just short the line.
The referee awarded another penalty and this time they opted for goal with Griffen, who had taken over the kicking duties from the yellow-carded Pez, making no mistake.
Ireland crossed for a second time in the 48th minute but there was an air of controversy about the try as Bowe did not appear to ground the ball properly.
O'Gara kicked to Bowe out wide on the left and the winger slipped inside Stoica's tackle, riding a challenge from Mauro Bergamasco as he crashed over the line.
But excellent work from Bergamasco meant Bowe was not able to touch down and amazingly for such a tight call, Pearson did not consult the television match official.
O'Gara converted and then added his second penalty to give Ireland a 20-13 lead going into the final quarter.
Pez and O'Gara swapped penalties before Italy threatened in the right corner only for Sergio Parisse to knock on at the crucial moment.
O'Gara booted another three points as Ireland 10 points pulled clear but the performance has left O'Sullivan with plenty to consider ahead of Saturday's trip to Paris.