Holders Paris Saint-Germain reached the French Cup final after a nail biting 6-5 penalty shootout win at Montpellier as the match ended 2-2 in regular time after the home side twice came from behind on Wednesday.
Junior Sambia missed Montpellier's final penalty before Moise Kean drilled in his spot kick to send PSG through to the May 19 showdown against either Monaco or fourth-tier Rumilly Vallieres, who meet in the other semifinal on Thursday.
Kylian Mbappe returned from a leg injury with an electrifying performance as he fired PSG ahead in the 10th minute and restored their lead in the 50th after Gaetan Laborde levelled on the stroke of halftime.
PSG missed a string of chances and were skating on thin ice after Andy Delort struck in the 83rd minute to force the shootout but the visiting penalty takers kept their nerves as they netted all their efforts.
Mbappe tormented his markers all evening and opened the scoring with a neat finish as he raced past two defenders to take a fine through ball by Idrissa Gueye in his stride and drill a rising shot past goalkeeper Dimitry Bertaud.
Wasteful finishing cost PSG as Laborde levelled out of the blue with a spectacular shot into the top corner after he pulled away from Alessandro Florenzi on the left.
Mbappe struck again when he capped a fast break with a trademark finish but PSG's profligacy was punished again when Andy Delort tapped in Laborde's perfect cutback in the 83rd minute.
The visitors flirted with an exit as Montpellier kept gaining the upper hand in the shootout until Sambia lost his nerve and substitute Kean sealed a pulsating clash when he blasted his shot past Bertaud.
Mbappe, who took no part in the penalty shootout as he was substituted moments before Delort's equaliser, was glad PSG survived some anxious moments.
"It was really stressful to watch the shootout from the sidelines and we are delighted to be in a position to defend the trophy," he said after the game.
"We played better than we did in the last few matches, but we must stop letting our rivals back into games."