Novak Djokovic is one step away from his first ATP Finals crown since 2015 after defeating Taylor Fritz in straight sets in Turin.
The Serbian was made to work by the 25-year-old Californian, with both sets going to a tie break.
But Djokovic, 35, edged it both times, winning 7-6 (7-5) 7-6 (8-6) and now faces either Casper Ruud or Andrey Rublev in Sunday's final.
"I had to fight to survive," said Djokovic.
"I knew coming into today's match from yesterday's gruelling battle against [Daniil] Medvedev I knew it would take me some time to adjust and find the dynamic movement I need against Fritz, who is one of the best servers on the Tour.
"I am very pleased to have overcome this one as I don't think it was one of my best days with my tennis, but I managed to hang in there."
Despite not winning the end of season showpiece for seven years, five-time champion Djokovic is now just one match away from equalling Roger Federer's record of six titles.Live scores, results and order of playAlerts: Get tennis news sent to your phone