Daniil Medvedev battled back from a set down and behind in the second to reach the final at the Western and Southern Open in Cincinnati.
World number eight Medvedev beat top seed Novak Djokovic 3-6 6-3 6-3 in one hour and 43 minutes.
It was the first time in six years that Serbia's Djokovic lost a semi-final at the ATP Masters 1000 level after winning the first set.
In the earlier semi-final, Belgium's David Goffin defeated Richard Gasquet 6-3 6-4 to reach his first ATP Masters 1000 final.
World number 19 Goffin, 28, maintained his fine form throughout the tournament against Gasquet, breaking the Frenchman's second service game and holding his own to take the opening set.
Goffin trailed 2-0 in the second, but broke straight back to level it up before reeling off five of the next six games to seal victory in one hour and 16 minutes.