Peter Nelson, Chris Farrell and Aaron Conneely all crossed in the first eight minutes, only for Italy to hit back with two tries and make it 24-12 at the break.
But second half tries from Munster hooker James Rael, Luke McGrath and Nelson made sure of the bonus point and a second pool victory for an Ireland team that showed nine changes to the side that narrowly lost to England last Friday.
There were just 58 seconds on the clock when Nelson, slotting in at centre alongside his Dungannon and Ulster colleague Farrell, broke through for the opening try.
Ireland attacked from the kick-off with Farrell and Sam Coghlan Murray making breaks, and a surge from new out-half Jack Carty sent Rael powering through, with Nelson running the support line and his strong hand-off helped him go over untouched.
Four minutes later, Nelson was first to reach his own chip and hacked the ball through for Farrell to collect and touch down in the right corner. Carty converted in impressive fashion and Ireland wasted little time in adding to their try tally.
Good pressure from Conor Finn on kick receiver David Odiete saw the ball break free for flanker Conneely to burst past two defenders and touch down in the right corner with Carty again adding the extras.
But just as Ireland hunted for the bonus point score, a pass from McGrath in the Italian 22 was intercepted by Edoardo Padovani and he has the pace to make the line for Italy's second try of the tournament. The try scorer calmly converted for good measure.
Suddenly, Italy were right back in the game when they punished two handling errors from the Irish. Craig Green's youngsters attacked from a strong scrum, Finn was turned over and then Coghlan Murray was unable to gather a bouncing ball near the Irish line and scrum half Guido Calabrese pounced to score.
The unconverted try was quickly followed by a Carty penalty at the midpoint of a breathless first half, with Ireland regaining their composure but only briefly as a scrum penalty and an offside kept them pinned back in their 22.
The error count increased for both sides as half-time approached, with the Italian scrum beginning to cause Ireland problems although Padovani sent a right-sided penalty wide of the posts.
It was tit for tat when the second half got underway, but Ireland rediscovered their scoring touch to secure that all-important bonus point in the 50th minute. Hooker Rael crashed over the right of the posts after a sustained period of pressure, with final passes from Mike Sherlock and Nelson opening up the space.
Try number five followed soon after, a solid scrum offering McGrath the chance to attack down the right and he did brilliantly to collect his well-weighted chip and step around the covering Odiete to dive over in the corner.
With eager replacements aiding an improving Irish scrum, they swooped for a sixth. Set piece ball was spun out to the right for the influential Nelson to notch for his second try of the afternoon, the centre dummying his way past Odiete with Finn supporting on his outside.
Ruddock will have wanted a tidier performance from his players - they never really matched the excellence of that opening spell - but they got the job done against a physical Italian outfit and can progress to the play-offs with plenty of confidence.
IRELAND U-20: Mike Sherlock (Clontarf/Leinster); Conor Finn (Buccaneers/Connacht), Peter Nelson (Dungannon/Ulster), Chris Farrell (Dungannon/Ulster), Sam Coghlan Murray (UCD/Leinster); Jack Carty (Buccaneers/Connacht), Luke McGrath (UCD/Leinster); Des Merrey (Clontarf/Leinster), James Rael (Garryowen/Munster), Peter Reilly (Lansdowne/Leinster), Alan O'Connor (UCD/Leinster), Iain Henderson (Queen's University/Ulster), Aaron Conneely (Corinthians/Connacht), Josh van der Flier (UCD/Leinster), Jack Conan (Old Belvedere/Leinster) (capt).
Replacements used: Stuart Olding (Belfast Harlequins/Ulster) for Coghlan Murray (31 mins), Tadhg Furlong (Clontarf/Leinster) for Reilly (half-time), Tadhg Beirne (Lansdowne/Leinster) for van der Flier (48), Jake Cawley (Old Belvedere/Leinster) for Furlong (59), Cathal Marsh (Dublin University/Leinster) for Farrell (61), Shane Buckley (Garryowen/Munster) for Henderson (64), Kieran Marmion (Corinthians/Connacht) for McGrath (69), Niall Scannell (Dolphin/Munster) for Conan (71).
ITALY U-20: David Odiete (Rugby Reggio); Alex Morsellino (Petrarca Padova), Giovanni Benvenuti (Marchiol Mogliano), Andrea Bettin (Rubano Rugby), Filippo Guarducci (Marchiol Mogliano); Edoardo Padovani (Marchiol Mogliano), Guido Calabrese (San Gregorio Catania); Giovanni Maistri (Cammi Calvisano) (capt), Giovanni Scalvi (Rugby Reggio), Leonardo Bortoletti (Rubano Rugby), Marco Bellucci (Rugby Emergenti Cecina), Alfio Luca Mammana (L'Aquila Rugby), Ruben Riccioli (Mantovani Lazio), Guglielmo Zanini (M-Three San Donà), Vittorio Marazzi (Sertori Sondrio).
Replacements used: Alessio Zdrilich (Ospitaletto Rugby) for Bellucci (57 mins), Pietro Ceccarelli (Stade Rochelais) for Maistri, Sami Drissi-Panico (UR Capitolina) for Bortoletti (both 61), Federico Conforti (Petrarca Padova) for Marazzi, Marcello Violi (Rugby Reggio) for Calabrese (both 62), Maistri for Scalvi, John Apperley (Rugby Reggio) for Guarducci (both 67), Giulio Bisegni (Mantovani Lazio) for Odiete (68), Luca Conti (Udine Rugby) for Zanini, Odiete for Benvenuti (both 76).
Referee: Angus Gardner (Australia)