Kei Nishikori came from a set down to beat Alexander Zverev and reach his first Monte Carlo Masters final.
The unseeded Nishikori will face world number one and 10-time champion Rafael Nadal in Monaco on Sunday after defeating Zverev 3-6 6-3 6-4.
Nishikori claimed the only break of the deciding set to become the first Japanese player to reach the final of the prestigious tournament in the principality.
Zverev turned 21 on Friday but Nishikori did not come bearing gifts, getting into his stride after being broken twice in the first set to move into his fourth Masters final.
Third seed Zverev won the first break point of the match to lead 4-3, Nishikori having been 40-0 up, and he wrapped up the second set with another break when the world number 36 looped a forehand beyond the baseline.
Nishikori, working his way back up the rankings after his comeback from wrist surgery, mixed his approach up impressively in the second set with drop shots and rasping groundstrokes.
He broke for the first time to lead 2-0 courtesy of a clever lob and a well disguised drop shot before the young German tamely netted a forehand, but Zverev hit back by winning the next three games.
Nishikori took the upper hand again with a break to love for a 4-3 lead and Zverev vented his fury after thudding a backhand low into the net to lose the second set.
Both players saved a couple of set points apiece early in the decider and Nishikori apologised after drilling a forehand straight at Zverev, who crashed out when he skewed a backhand wide, giving Nishikori the only break of the final set to advance.