Russia's Andrey Rublev edged closer to a maiden appearance in the ATP Finals on Saturday when he defeated fellow London season-finale hopeful Denis Shapovalov to reach the Saint Petersburg final.
Rublev, the third seed, came back to defeat the second-seeded Canadian 4-6, 6-3, 6-4.
"The match was unreal, in my opinion," said Rublev who moves ahead of Diego Schwartzman into eighth position in the race to London.
"The level was high from both sides. Both of us deserved to win."
Just two qualification positions remain vacant for the ATP Finals, to be held from 15-22 November.
Novak Djokovic, Rafael Nadal, Dominic Thiem, Stefanos Tsitsipas, Daniil Medvedev and Alexander Zverev have already qualified for the elite eight-man event.
In Sunday's final in Saint Petersburg, Rublev will target his fourth title of 2020 when he faces last year's runner-up Borna Coric.
The Croatian defeated 2015 champion Milos Raonic 1-6, 6-1, 6-4 in his semi-final.
Saint Petersburg ATP results on Saturday (x denotes seeded player):
Borna Coric (CRO x7) bt Milos Raonic (CAN x6) 1-6, 6-1, 6-4
Andrey Rublev (RUS x3) bt Denis Shapovalov (CAN x2) 4-6, 6-3, 6-4