Kylian Mbappe had a penalty saved but then scored the only goal of the game as Paris Saint-Germain beat Rennes 1-0 in the last four of the French Cup on Wednesday to set up a final showdown against Lyon.
Mbappe saw Rennes goalkeeper Steve Mandanda save his 37th-minute spot-kick at the Parc des Princes, but three minutes later the France captain found the net with a shot that took a deflection on its way in.
It was Mbappe's 39th goal of the campaign for PSG in all competitions, and he appears certain to break the 40 mark for the third time in four seasons.
PSG will play Lyon, 3-0 winners against second-tier Valenciennes in Tuesday's first semi-final, in the final in Lille on May 25 as the capital side look to add to their record tally of 14 victories in the French Cup.
They had won the competition six times in seven seasons before missing out in each of the last two campaigns, with Nantes lifting the trophy in 2022 and Toulouse succeeding them last year.
"I'm very happy. The French Cup is one of our main objectives this season and winning through to the final is a source of satisfaction for all of us," said PSG coach Luis Enrique.
The final at the end of next month could end up being Mbappe's last game as a PSG player.
The 25-year-old having informed the club of his intention to depart after this season when his contract expires.
The Ligue 1 season concludes on May 18, although the Champions League final will be played in London on June 1 -- PSG are still alive in Europe and face Barcelona in the first leg of the quarter-final next week.
Luis Enrique's PSG side sit 12 points clear at the top of Ligue 1 with seven games left having already won the French Champions Trophy at the turn of the year, meaning they remain in contention to claim a clean sweep of honours this season.
"We all want to win trophies for the club and we are on the right track," the coach said.
"In football at the highest level, the difference between winning and losing is very small, but we are in a good position in the league and the Cup, we have won the Super Cup, and in the Champions League we are where we want to be."
- Penalty saved -
They did not have it easy against a Rennes team who drew 1-1 in Paris in the league a month ago and who competed well for much of Wednesday's game.
However, the home side almost went ahead inside 12 minutes, when Ousmane Dembele released Mbappe to accelerate away towards goal, only for Mandanda to get a big touch on his shot, which struck the underside of the bar and bounced away.
It was Mbappe who won the penalty as he was fouled by Warmed Omari just inside the area, but Mandanda's stop meant it was the third time PSG's star man had been denied from the spot this season.
Unfortunately for Mandanda, there was nothing the former French international goalkeeper could do when Mbappe's shot in the 40th minute took a touch off Omari to leave him wrong-footed.
Paris were unable to make the game safe in the second half but Rennes also lacked the bit of quality needed to find an equaliser and force a penalty shoot-out, even after their attacking talisman Martin Terrier was introduced off the bench.
Rennes, who currently sit eighth in Ligue 1, are now left to focus on their fight to qualify for Europe.
Lyon, who beat Valenciennes with the help of two Alexandre Lacazette goals, will be attempting to win the Cup for the sixth time in their history.
Their last piece of silverware came when they won the French Cup in 2012.