Tries from Alain Moriconi and Michele Campagnaro in the opening seven minutes had given Italy a flying start and while they ran in four tries in total, they could not withstand Ireland's late pressure at Stadio di Avezzano.
Moriconi put Italy on their way with the first try of the match after just three minutes, fly-half Edoardo Padovani adding the extras.
And Italy were 12-0 to the good soon after when centre Campagnaro dotted down, leaving Ireland shellshocked.
Padovani extended Italy's lead on 17 minutes, kicking a penalty before Ireland could get themselves on the scoresheet, David Panter, on for star centre Tom Daly after just nine minutes, grabbed a try.
Rory Scannell, taking over kicking duties, notched the conversion but back roared Italy and they had their third try of the evening through Giovanni Benvenuti - another first-half replacement - on 25 minutes.
A Scannell penalty before half-time ensured Ireland were clinging on at 20-10 down at half-time but Italy winger David Odiete romped over to restore the hosts' 15-point lead.
Ireland were far from finished however and they moved themselves to within striking distance when Scannell notching a 68th-minute penalty soon after second row Jerry Sexton touched down following a powerful maul from a lineout.
The comeback was complete when fly-half Steven Crosbie kicked across field and Scholes added to his impressive try-scoring tally for Ireland, gathering the ball and dotting down before Scannell held his nerve with the conversion on 73 minutes.
Crosbie had a chance to win it for Ireland but he was off target with his drop goal from distance, ensuring the spoils were shared.