World number one Roger Federer extended his season win streak to 17 matches, booking his spot in the Indian Wells final by beating Borna Coric 5-7, 6-4, 6-4 on Saturday.
The 36-year-old Swiss superstar survived a stern test from world number 49 Coric but managed to hold on for a 17-0 record this year, surpassing his prior career-best calendar year start in 2006 when he opened with 16 wins.
"Borna was incredibly steady," Federer said. "Those 10 minutes when I was down a set and a break it was hard for me to accept.
"I got a bit lucky. It was a good match."
The defending champion will be aiming for a record sixth Indian Wells title when he squares off against either Canadian Milos Raonic or sixth-seeded Juan Martin Del Potro in Sunday's championship match.
Down a set and behind 4-2 in the second, Federer had to claw his way back from the brink of defeat.
In the third set he fell behind again 4-3 but won the final 11 points of the match to claim the victory.
Federer clinched the match when Coric hit a shot wide. The ball was called out but Coric challenged and after the video review the original call was confirmed, handing the match to Federer.
Federer had not dropped a set (8-0) entering the semi-final. But he looked out of sorts in the opening set Saturday as Croatia's Coric took it handily.
The match was played under difficult conditions with winds swirling around the main stadium. Federer said he had to be conservative with his shotmaking to get back in it.
"At some point you are happy with very little," Federer said.
Federer's start is impressive but he has a way to go to match the record set by John McEnroe, who began the 1984 season by winning his first 42 matches, the longest winning streak to start a season in the Open Era.
Earlier this year, Federer defended his title at the Australian Open, picking up his 20th Grand Slam crown.
Last month, Federer claimed his 97th singles title with a victory at Rotterdam and regained the world number one ranking, becoming the oldest number one in ATP history.