Ireland have been eliminated from the World Rugby U20 Championship after losing 31-20 to England in the semi-final in Cape Town.
Willie Falloon's team got off to a dream start in their bid to reach a second successive final, as Oliver Coffey sliced through the England defence to touch down for a try that was converted by Jack Murphy.
England embarked on a sustained period of pressure, missing a penalty before Craig Wright got over the line and Sean Kerr added the extras via a clip of the post.
A Murphy penalty edged Ireland in front again but an Ollie Allan try and a Kerr conversion put England in front for the first time just after the half-hour mark.
A thrilling first half continued to entertain as Murphy converted a Bryn Ward try to put Ireland in front again, 17-14, before Kerr kicked over again to equalise.
Another Murphy penalty looked to have put Ireland ahead at the break, only for Kerr to go over for England's third try.
The Harlequins man injured himself in the process, leaving kicking duties to Ben Coen, whose miss left the score at Ireland 20 England 22 at half-time.
Kerr recovered duly to kick two successful kicks in the third quarter, as England dominated the scrum throughout the second period.
A 31-20 victory for England was confirmed with a penalty and the Red Roses move on to face New Zealand or France in the final on Friday, the same day that Ireland face into a bronze medal final.