Noah Cato all scored tries, four of them converted by Alex Goode (Saracens) as England attacked with increasing ingenuity and confidence.
They needed to finish sharply to get the show on the road after a first-half flat spell and an uncharacteristic number of early errors against a combative Irish side.
David Kearney touched down early on for the visitors and fly half Ian Madigan kept them in the game with three first half penalties.
But ultimately they didn’t have England’s pace and firepower, or a back-row forward to match Jon Fisher’s all-round excellence.
England made two changes to their starting line-up for the final leg of their Six Nations challenge, Leeds Carnegie fly half Adam Greendale replacing Rob Miller and Worcester’s Graham Kitchener coming in for suspended Saracens lock Ben Thomas. Gloucester’s Dan Norton came back into the squad to sit on the bench alongside uncapped Northampton lock James Cannon.
Overcoming a tough Ireland side, who had conceded fewer points than the hosts going into this game, was no easy task, though and emphasised when England fell behind after four minutes, full back Kearney finding no-one at home when put through a gap 40 metres out.
The lead lasted less than three minutes, though, when Ellis battering his way to within inches of the line and the ball released for Goode to put Stegmann over for his second try of the campaign and convert from wide on the right.
England lost their way after that, making some uncharacteristic errors and falling behind when Madigan stroked over his first successful penalty effort.
It took until the half-hour mark for them to hit their stride again, with a sweeping long-range attack down the right involving Simpson, Greendale and Cato before Stegmann put Ellis away for the second try with Goode again converting.
Another careless penalty conceded at the kick-off allowed Madigan to get Ireland back to 14-11 down but England produced another confident attack from long-range to nail their third try four minutes before the break.
This time it was Odejobi who broke tackles and Cato blasted his way toward the left-hand corner before offloading inside for Eves to score.
Madigan, though, added a third penalty just before the interval to keep Ireland in the game and England anxiously holding a five-point lead.
They opened the second-half strongly with Andy Saull replacing captain Ellis in a reshuffled back-row and finally seized control with a fourth try.
Fisher, who switched to number eight, broke tackles down the left and Cox was rewarded for his support run with a score after the play was reviewed by TMO Andy Ireland.
The celebrations could really begin when Cato seized on Goode’s inside ball and accelerated past three covering defenders to claim his sixth try in five games this season.
And suddenly there were runners coming from everywhere, another Greendale and Goode combination taking England close and loose-head Catt ploughing over from close range 10 minutes from time.
Ireland got on the front foot for a brief spell but they couldn’t prevent England attacking from deep and Odejobi outstripped the cover to finish a length-of-the-field counter-attack five minutes from time.
England U20: Noah Cato (Saracens); Seb Stegmann (Harlequins), Luke Eves (Bristol Rugby), Alex Goode (Saracens), Mark Odejobi (London Wasps); Adam Greendale (Leeds Carnegie), Joe Simpson (London Wasps); Nathan Catt (Bath Rugby), Joe Gray (Northampton Saints), Alex Corbisiero (London Irish), Graham Kitchener (Worcester Warriors), Scott Hobson (Cornish Pirates), Jon Fisher (London Irish), Matt Cox (Worcester Warriors), Hugo Ellis (London Wasps, captain).
Replacements: Scott Freer (Leeds Carnegie) for Gray 68, Billy Moss (Bath Rugby) for Corbisiero 68, James Cannon (Northampton Saints) for Kitchener 53, Andy Saull (Saracens) for Ellis 41, Ben Youngs (Leicester Tigers) for Simpson 68, Greg King (Worcester Warriors) for Saull 71, Dan Norton (Gloucester Rugby) for Stegmann 70.
Scorers: Tries: Stegmann, Ellis, Eves, Cox, Cato, Catt, Odejobi. Cons: Goode 4.
Ireland U20: David Kearney (Leinster); Sean Scanlon (Munster), Eoin O’Malley (Leinster), Conor Cleary (Leinster), Chris Cochrane (Ulster); Ian Madigan (Leinster), David Moore (Leinster); Paul Karayiannis (Ulster), Jason Harris-Wright (Leinster), Ben Barclay (Leinster), David Nolan (Connacht), Eoin Sheriff (Leinster), Kieran Essex (Munster), Paul Ryan (Leinster, captain), Patrick Mallon.
Replacements: Stephen Douglas (Ulster) for Harris-Wright 65, Stephen Archer (Munster) for Barclay 65, Trevor Conneely (Connacht) for Essex 46, Ian Porter (Ulster) for Moore 47, Martin Dufficy (Leinster) for Madigan 47, Eamonn Sheridan (Leinster) for Cochrane 73.
Scorers: Try: Kearney. Pens: Madigan 3.
Referee: Neil Paterson (SRU)
Attendance: 3,725.
ends