Top seed Carlos Alcaraz was knocked out of the China Open in straight sets by Jannik Sinner who will face Daniil Medvedev in the final.
Sinner won 7-6 (7-4) 6-1 against Spain's two-time major winner on Tuesday, and now leads their head-to-head 4-3.
The 22-year-old Italian said his performance was at the "very top" of those he had produced in big matches.
Medvedev beat Alexander Zverev 6-4 6-3 in the other semi-final.
Russia's world number three, 27, has won all six of his previous matches against Sinner.
The Italian, who will rise to a career-high of fourth in the world after the tournament, says he plans to "change a couple of things" tactically for Wednesday's final in Beijing.