Paris St-Germain reached the French Cup final as they edged out Montpellier 6-5 in a semi-final penalty shootout.
Moise Kean scored the winning penalty after Montpellier's Junior Sambia had blasted his spot-kick over the bar.
Kylian Mbappe had put PSG ahead, but Montpellier's Gaetan Laborde equalised.
A brilliant solo Mbappe run, after he collected the ball near the halfway line, restored PSG's lead, but Andy Delort scored late on to make it 2-2 and take the tie to penalties.
The final will be held at the Stade de France on 19 May and PSG will face either fourth-tier side Vallieres or Ligue 1 Monaco, who meet in the second semi-final on Thursday.
This victory keeps Mauricio Pochettino's side in with a chance of winning a league and cup double, although leaders Lille are favourites to win Ligue 1 as they are three points ahead of PSG with two matches to go.
Pochettino replaced now-Chelsea boss Thomas Tuchel in January and gambled with his semi-final selection as he left both Neymar and Angel di Maria on the bench, although both did come on and score in the shootout.
PSG had to do without Mbappe in the shootout as he was replaced by Kean with eight minutes to go, before Delort's 83rd-minute equaliser.
Mbappe had excelled during the game and his first goal came after good work from Idrissa Gueye, but his second was all his own doing.
He collected the ball 45 yards from goal, near the touchline, and ran at the Montpellier defence, before cutting inside two defenders and curling the ball into the net past goalkeeper Dimitry Bertaud.