Mayo 2-14 Derry 2-11
Mayo will meet Kildare in the All-Ireland U-20 final after a three-point win over Derry in Carrick-on-Shannon on Saturday.
Ross Egan, with five points, top scored for the Westerners, while Ryan O'Donoghue and Paul Lambert both hit crucial goals in a fierce battle where the intensity never let up for 70 minutes.
O'Donoghue cut through the defence in the first attack of the game to score the opening goal and give Mayo the dream start.
Derry didn't panic, however, and points from Ben McCarron and a Conor Doherty '45' closed the gap. Ross Egan scored the first of four first-half frees before Derry returned fire through Callum Brown. The big target man beat his man to the ball before turning him inside out and slipping the ball past Paddy O'Malley.
Oisín McWilliams found the net for Derry after tremendous build up work from first Ben McCarron and then captain Conor Doherty.
Egan and McWilliams' twin brother Lorcan exchanged points to leave the Ulster champions 2-3 to 1-3 up after 17 minutes.
Ross nailed two frees before long-range rockets from Oisin McLaughlin and Evan O'Brien gave Mayo a 1-7 to 2-3 half-time lead.
A Paul Lambert goal in the 41st minute gave Mayo a 2-9 to 2-6 lead and they held the lead to the end.
Subscribe to The Throw-In, Independent.ie's weekly GAA podcast in association with Allianz, for the best in GAA discussion and analysis every week, with some of the biggest names in football and hurling from Joe Brolly, Tomás Ó'Sé and John Mullane.