Freddie Burns kicked the first points of the match from the 22 on 16 minutes but against the run of play Ireland snatched momentum with full-back Andrew Conway touching down.
Fly-half James McKinney converted but Ireland openside Dominic Ryan was yellow carded for offside on 22 minutes.
McKinney kicked a great 40m penalty and Ireland then got their second try almost directly from kick-off.
England winger Jonny May attempted to chip over the defence from his 22 but it did not have enough on it and Ireland centre Brendan Macken gathered and offloaded to Darren Hudson to score.
Burns then turned down three points 37 minutes with a scrum chosen and the decision was vindicated as England pushed Ireland over their line and the referee gave a penalty try.
Burns converted to pull within seven but Ireland scored again in injury-time. A scrum inside their own half saw a three on one blindside overlap with Hudson breaking into England’s 22 and chipping ahead.
Conway got there first and touched down for his second but Mckinney missed the kick, making it 22-10 at half-time.
The second half was a much tighter affair with Ireland controlling the pace of the game and a host of errors and substitutions from both teams killing the contest off.
The game did come to life in the dying minutes though with England pushing for the win. Ireland replacement kicker Brian Kingston kicked a penalty for the only score of the half.
ENGLAND U-20S: J Wallace; W Hurrell, J Joseph, T Casson, J May; F Burns, S Harrison; L Imiolek, J George, S Knight; D Wright, C Matthews; J Wray, J Rowan (capt), A Gray.
Replacements: A Ellis, J Marler, K Brookes, G Kruis, J Pasqualin, J Sharp, C Wade.
IRELAND U-20S: A Conway; D Hudson, B Macken, N Spence, S Zebo; J McKinney, J Cooney; B Cagney, N Annett, J O’Connell; D O’Callaghan, B Marshall; R Ruddock (capt), D Ryan, P Butler.
Replacements: D Casey, S Maguire, B Hayes, R O’Sullivan, M Heaney, B Kingston, E Griffin.
Referee: Stefano Penne.