Teenager Felix Auger-Aliassime ended the hopes of veteran Frenchman Gilles Simon to reach the final of the Open 13 Provence in Marseille, where he will face defending champion Stefanos Tsitsipas.
Simon, a two-time tournament winner, had knocked out top seed Daniil Medvedev in the quarter-finals.
However, 19-year-old Canadian Auger-Aliassime, the seventh seed, twice produced comebacks to take the match 7-5 7-6 (2).
World number six Tsitsipas had earlier secured his place in Sunday's final with a 7-5 6-3 win over Kazakhstan's Alexander Bublik.
The 21-year-old Greek, seeded number two in Marseille, is aiming to win back-to-back titles at an ATP Tour event for the first time.
"It keeps getting better and better," Tsitsipas said, quoted on the ATP Tour website. "I really appreciate all the love that I receive here and tomorrow is an exciting day.
"I need to prepare, be ready for it and I can't wait to show an even better Stefanos tomorrow."
There was an upset at the Rio Open, where world number four and top seed Dominic Thiem lost to Italian qualifier Gianluca Mager in their delayed quarter-final which was held over from Friday.
Mager, ranked down at 128, had been a set and a break ahead when rain had suspended play shortly after midnight local time in Brazil.
When the action resumed, the Italian maintained his momentum to open up a 4-2 lead, before Thiem rallied to level at 5-5.
The Austrian, though, was then broken again and Mager closed out a memorable victory on his first match point chance with an ace, to progress 7-6 (4) 7-5.
Hungary's Attila Balazs came through his delayed quarter-final against Pedro Martinez with a battling 2-6 6-4 6-2 victory.
Mager and Balazs will face a second match later on Saturday when they meet in the semi-finals.

