Antwerp - Unseeded Argentine Diego Schwartzman upset top-seeded David Goffin 7-5, 2-6, 7-5 to reach the European Open final on Saturday.
He gained some revenge after Goffin routed him in straight sets, dropping just six games, when Belgium beat Argentina in last year's Davis Cup semi-finals.
Schwartzman will need to produce another upset in the final against third-seeded Richard Gasquet, who earlier staged an impressive comeback to beat Britain's Kyle Edmund 3-6, 7-5, 6-2.
Schwartzman dropped serve twice in the first set but broke Goffin for the third time to clinch it.
The 12th-ranked Goffin took both of his chances on Schwartzman's serve in the second set, where he did not face a break point, and looked to have regained his composure after securing an early break in the deciding set.
But the 77th-ranked Schwartzman broke straight back and, although he dropped his serve again, took Goffin's twice more.
Schwartzman won the only title of his career this year on outdoor clay in Istanbul.
Gasquet was in deep trouble at 4-2 down in the second set, but broke Edmund's serve in the eighth game and once more to level the match.
He was in complete control in the deciding set, in which he did not concede a chance on his serve and forced nine on Edmund's serve, breaking him twice.
The win moved Gasquet into his third final of the season and 27th of his career. He has 13 titles.
He also got a bit of revenge - for a straight-sets defeat to Edmund in the first round of the US Open.
Gasquet won the final in Montpellier, France, in February, and lost to Tomas Berdych in Shenzhen, China, three weeks ago.
He has never played Schwartzman before.
Results from the ATP Tour's tournament in Antwerp on Saturday (x denotes seeding):
Richard Gasquet (FRA x3) bt Kyle Edmund (GBR) 3-6, 7-5, 6-2
Diego Schwartzman (ARG) bt David Goffin (BEL x1) 7-5, 2-6, 7-5