Kasper Dolberg scored a first half goal to give Ajax a four-goal edge on Lyon, but that did anything but make things academic at the Parc Olympique Lyonnais.
Alexandre Lacazette scored twice before halftime before Rachid Ghazzal pulled Lyon to within a goal of Ajax with nine minutes remaining in regulation.
But Lyon could only muster a 3-1 second leg win, sending Ajax to the May 24 final against Manchester United in Solna, Sweden, with a 5-4 advantage on aggregate.
[ MORE: Watch full PL match replays ]
The 19-year-old Dolberg had scored in the first leg, and scooped up a valuable away goal 27 minutes into the second.
[ MORE: Latest Premier League standings ]
But Lyon wasn’t going away without a fight, turning to its star striker Lacazette.
The 25-year-old converted a penalty kick in the 45th minute and added one from the run of play in the first minute of stoppage time as Ajax bungled a touch atop its 18 and Lacazette was waiting on the left to provide the end product of Nabil Fekir’s work on the right.
[ MORE: Full lineups, stats, box score ]
Ghazzal netted in the 81st minute to move Lyon to within a goal of extra time but Ajax, somehow, held on.