Feliciano Lopez battled past Mischa Zverev to reach the final of the Mercedes Cup in Stuttgart.
Spaniard Lopez hit back after losing the opening set on a tie-break to edge out fellow left-hander Zverev 6-7 (2/7) 7-6 (7/4) 7-5 in two hours and four minutes and reach his first ATP Tour final of the season.
"The match was so close from the beginning to the end," Lopez told the ATP's official website. "I was able to connect on great returns in the last game."
Lopez has not featured in a final since losing to Ivo Karlovic in the Los Cabos Open in Mexico in August 2016, and won his last tournament at the Swiss Open the previous month.
The 35-year-old will play France's Lucas Pouille in Sunday's final after he beat countryman Benoit Paire 7-6 (7/5) 7-5 in his last-four clash.
Fourth seed Pouille, 23, who struck 13 aces, said: "I played great. I think it was a very tough match. In the important points, I was very solid."
It was a disappointing day for the Zverev family as Mischa's younger brother Alexander lost out in straight sets to Gilles Muller in the semi-finals of the Ricoh Open in s-Hertogenbosch.
Luxembourg's Muller, seeded four and beaten tournament finalist last year, produced one of his best displays of the season to upset second seed Zverev 7-6 (7/5) 6-2.
Both players held serve throughout the first set and Muller hit back after falling a break down in the tie-break to take the opening set.
Muller broke Zverev twice early in the second set and sealed victory on his first match point with an ace to book a place in the final against third seed Ivo Karlovic.
Karlovic upset top seed Marin Cilic in the other all-Croatian semi-final, winning 7-6 (7/4) 5-7 7-6 (7/2).