Juan Martin del Potro took advantage of an error-strewn Marin Cilic performance to beat the defending champion for a seventh time in a row on Saturday to set up another Swiss Indoors final showdown with Roger Federer.
Federer swatted aside David Goffin 6-1, 6-2 in exactly one hour to reach the final of his hometown tournament for the 13th time.
Federer has won seven and lost five of the previous finals, with two of those defeats against Del Potro in 2012 and 2013 although overall the Swiss has beaten the Argentine 17 times out of 23.
"I played a smart match, I waited for my chances in both sets," Del Potro told reporters after his 6-4, 6-4 win over the world number four.
“The only way to beat Roger is play hard and play aggressively all the time... you have to play down the lines every time and sometimes even that is not enough."
Cilic never found his rhythm and did not help his cause with a flurry of unforced errors, including six double faults.
After early breaks by both players, Del Potro won the ninth game with a backhand return and held serve to clinch the first set.
The Argentine, emerging as a late contender to snatch one of the last two places at the ATP World Tour Finals in London, then broke immediately in the second.
Cilic broke back at 3-3 but Del Potro did the same in the next game and there was no way back for the Croat with Del Potro wrapping up the match with his seventh ace.
Federer never allowed his Belgian opponent to settle as he reached his eighth final of the season. There were no signs of the jitters that resulted in him dropping his only set of the tournament in Friday's quarter-final against Adrian Mannarino.
"Everything changed completely, I had a much better mindset. I wanted to take it to my opponent and I was able to do that," said Federer.