Stan Wawrinka claimed victory in three sets over Kei Nishikori to progress to Sunday's final of the Rotterdam Open.
The Swiss won 6-2 4-6 6-4 in two hours and 13 minutes to ensure he will compete in his first final since 2017, where he will meet Gael Monfils.
The in-form Nishikori, the world number seven, had reached the quarter-finals in nine of his past 10 events but succumbed after a difficult route to the final.
Switzerland's Wawrinka, the world number 68, faces Monfils after the Frenchman also won in three sets, against Daniil Medvedev.
The Russian's resistance lasted two hours and nine minutes, as he lost 4-6 6-3 6-4.
Monfils, at 32 a year younger than Wawrinka, is a previous Rotterdam finalist.
The final of the Argentina Open in Buenos Aires will be contested between Argentina's Diego Schwartzman and Marco Cecchinato of Italy.
Schwartzman won 2-6 6-4 7-6 (5) against Austria's Dominic Thiem at the semi-final stage, where Cecchinato eased past Argentinian Guido Pella 6-4 6-2.
At the New York Open, qualifier Brayden Schnur continued an impressive week by downing sixth seed Sam Querrey in the semi-finals.
The Canadian, who had previously dismissed third seed Steve Johnson and prevailed in the longest match of the tournament against Paolo Lorenzi, saved five set points in the opening set before winning 7-6 (7) 4-6 6-3.
His opponent in the final will be American Reilly Opelka, who also dispatched a big name as he defeated top seed John Isner.
Opelka, who beat Isner in the first round of the Australian Open last month, saved six match points as he triumphed in a closely-fought match 6-7 (8) 7-6 (14) 7-6 (4).