Roger Federer reached the final of the Swiss Indoors event in his hometown of Basel by beating Canada's Vasek Pospisil 6-3 6-7 (3-7) 7-5.
The world number six will face Juan Martin Del Potro in Sunday's final.
Victory over Del Potro would guarantee Federer's place at next month's eight-man ATP World Tour Finals in London.
Argentine Del Potro, ranked a place above Federer, secured his place in the final by beating France's Edouard Roger-Vasselin 6-4 4-6 6-2.
Federer, who lost to Del Potro in last year's Swiss Indoors final, said: "Any winning match is a good thing right now.
"I am not qualified yet (for London) but that is not really in the back of my mind. I am just really focused on playing well tomorrow."
Five-time Swiss Indoors champion Federer, seeded third in Basel, had to come through a tense encounter with Pospisil, ranked 40th in the world.
Having won the first set, he faltered when serving for the match at 5-3 in the second and then lost the tie-break that followed.
Pospisil had a sight of victory when he then went 3-1 up in the final set, but Federer broke back to draw level.
He broke again at 5-5, and this time held his nerve to serve out the match and clinch victory in two hours and 40 minutes.
Top seed Del Potro came back strongly after a shaky spell against Roger-Vasselin cost him the second set in his semi-final - brushing aside the Frenchman, ranked 65th, in the decider to claim victory.
"I had all the pressure on me as I was the favourite," the Argentine said. "But at the end I managed to find my game again and played well. I'm just glad to be into a another final here."
Federer has qualified for the World Tour Finals every year since 2002, winning the event six times.
The top eight available players with the most points from Grand Slam, ATP World Tour and Davis Cup matches qualify for the Finals at the O2 Arena, which run from 4-11 November.
Britain's Andy Murray - the world number three - has withdrawn from the season-ending event in London as he continues his recovery from back surgery, meaning ninth place will be good enough to qualify.