World number one Roger Federer survived a scare from unseeded Borna Coric to beat him 5-7 6-4 6-4 in the BNP Paribas Open at Indian Wells in the U.S.
Federer’s win thus sets up a final showdown on Sunday with Juan Martin del Potro who cruised to a 6-2 6-3 win over Milos Raonic.
The victory on Saturday kept Federer’s hopes of winning a record sixth Indian Wells title alive.
The Swiss will have to get past the big-hitting Argentine, who got the better of him in the U.S. Open quarter-finals in September.
The partisan crowd erupted when Federer broke Coric at love to take the deciding set and end the unexpectedly competitive two-hours-twenty-minutes battle against the 21-year-old Croatian.
An upset was on the cards when the speedy Coric used his ferocious backhand to take the first set off the Swiss.
It marked the first time defending champion Federer had dropped a set at Indian Wells in nine matches.
He then broke Federer to start the second set and silence the stunned crowd, which included Hall of Famers Rod Laver and Pete Sampras.
In spite of playing below his usual standards, the 20-times Grand Slam champion was able to eek out victory by finding his serving rhythm.
The Swiss won the biggest points of the match as nerves finally caught up with Coric.
“Those 10 minutes when he was up a set and a break were tough for me to accept.
“I had to move on with it and say that I was just happy to stay in the game. Maybe he’s going to get a bit nervous, and I think that’s exactly what happened.
“And I got a bit lucky too of course. It was a good match and a tough one for him,” Federer said.
The 36-year-old Federer improved to 17-0 for the year, his best ever start to a season.
In a subsequent match, Del Potro’s one-sided win lacked the drama of the earlier match as Canadian Raonic put up little fight against the Argentine’s powerful serve and punishing forehand.
The contest lasted just over an hour for a winner to emerge.
Del Potro won nearly 90 percent of his first service points and converted four of his five break point opportunities against Raonic.
The Canadian never created a break point against the towering Argentine.
The victory was the 400th of 29-year-old Del Potro’s career, which has been interrupted by four wrist surgeries.