Jean-Philippe Mateta scored twice and Michael Olise added a third as France came from behind to beat Egypt 3-1 after extra time on Monday and set up an Olympic men’s football final showdown with Spain.
Thierry Henry’s France looked to be heading for defeat in the semi-final in Lyon after Mahmoud Saber put Egypt ahead just after the hour mark.
But Mateta, the Crystal Palace striker, levelled from Olise’s assist with seven minutes of the 90 remaining.
Egypt were reduced to 10 men at the start of extra time when centre-back Omar Fayed was sent off, and the hosts made their numerical superiority count as Mateta headed in.
Olise then sealed the win on 108 minutes and France, looking for their second Olympic men’s football gold medal and first since 1984, now face Spain in the final at the Parc des Princes in Paris on Friday.
Spain, gold medallists in 1992 and silver medallists three years ago in Tokyo, qualified earlier Monday after coming from behind to beat Morocco 2-1 in Marseille.
Egypt and Morocco will meet in Nantes on Thursday in an all-North African play-off for bronze.
France often looked disjointed without suspended midfield duo Manu Kone and Enzo Millot, with the latter banned after his red card at the end of the fiery quarter-final win over Argentina.
However, they had the majority of the chances and defender Loic Bade hit the post late in the first half with a header from a corner.
Egypt soaked up pressure at the start of the second half before scoring in the 62nd minute.
Saber’s first effort was blocked but when the ball came back to him he engineered space before slamming a shot past France goalkeeper Guillaume Restes.
The hosts almost equalised immediately as a Mateta header was tipped over by goalkeeper Hamza Alaa.
They then struck the woodwork twice in a matter of seconds, captain Alexandre Lacazette heading off a post and Bade nodding the follow-up against the bar.
The equaliser arrived in the 83rd minute, with Olise the creator as he cut through the middle on a driving run before playing in Mateta to finish.
France hoped to find a winner before extra time, but a penalty appeal after Fayed blocked a Bade header with his hand was dismissed following a long VAR review.
They went into the extra half-hour on a sultry evening and Egypt were quickly reduced to 10 men when Fayed, already booked for arguing against the penalty call, saw yellow again for chopping down Desire Doue.
France went ahead when a corner was played short to Olise, and his ball to the far post was headed back across goal by Kiliann Sildillia for Mateta to head in his fourth goal of the tournament.
Olise fired in the third early in the second half of extra time after a clearance struck Doue and fell into his path.