Roger Federer pulled off a stunning fightback to beat Borna Coric 5-7 6-4 6-4, reaching the Indian Wells Masters final and maintaining his perfect record in 2018.
This was the world number one's 17th consecutive win to start the year - the best such run of his career - but no previous opponent has tested him like Coric did in California on Saturday.
Indeed, the 49th-ranked 21-year-old looked well on course for a major scalp as a run of five consecutive games saw him take the first set and break to open up a lead in the second as he closed in on just a fourth ATP Tour final.
But a few errors crept into Coric's game, the likes of which Federer routinely punishes, and a commanding lead was gone in a flash as the top seed turned the match on its head with consecutive breaks to level the contest.
Federer then came from behind to edge the third set of a compelling match and ensure there would be no repeat of Simona Halep's shock exit in the women's draw, with either Milos Raonic or Juan Martin del Potro now next up in the final.
Back from the Fed— BNP Paribas Open (@BNPPARIBASOPEN) March 17, 2018
World No. 1 Roger Federer battles back from behind to win three-set thriller over Borna Coric 5-7 6-4 6-4.
He’s through to his historic *EIGHTH* Indian Wells final. #BNPPO18 pic.twitter.com/rQrmodB9yZ
The pair were evenly matched early on as they comfortably held serve until, at 5-5, the underdog ramped up the pressure and broke Federer at the second attempt, allowing him to clinch the set in the following game after an erroneous call had initially denied him a perfectly good winner.
The Croatian broke Federer's serve in the first game of the second set, too, before maintaining control as he came charging back from 40-0 down to save the three break points and hold serve to make it 3-1.
Coric appeared to have a response to everything as he again rescued a break point in his next service game but, roared on by a partisan crowd, it was third time lucky for Federer, who was able to level the set at 4-4 and then ruthlessly punish the reeling youngster when he next served to take the match to a decider.
It looked as though the pendulum had swung again when Coric broke the Swiss to love in the opening game of the third, but back came Federer to draw level after a magnificent point in the second game.
Although Coric's resolve remained and he broke again to lead 4-3, a double-fault allowed Federer to promptly level matters.
And the veteran ultimately outlasted his opponent as Coric attempted to serve to stay in the match, nervy errors ending the unseeded talent's fight as Federer claimed the first of three match points.
"I got a bit lucky," Federer conceded on court, but he certainly earned a slice of fortune after a historic start to the season.
|Konta conquers Mertens in Moscow|
|Republic of Ireland 0 Wales 1: Wilson stunner moves Giggs´ side top|
|France 2 Germany 1: Griezmann delivers Low blow as Les Bleus reign in Paris|
|Belgium 1 Netherlands 1: Groeneveld cancels out Mertens strike|
|Argentina 0 Brazil 1: Miranda heads late winner after rivalry fails to ignite|
|Messi would struggle in this Manchester United team – Scholes|
|Falcons place Devonta Freeman on injured reserve|
|Westbrook ruled out of Thunder opener|
|Wilder´s team open to Joshua talks|
|Brentford appoint Thomas Frank as new head coach|
|England´s perfect performance sets the standard - Trippier|
|Odell Beckham Jr. needs to create headlines on the field, says Giants owner|
|Robshaw joins list of England absentees|
|Chile need goals from Sanchez despite United form - Rueda|
|Modric reveals Ronaldo respect, ´will never play with´ Messi|
|Osaka can be one of the greats, says coach Sascha Bajin|
|Liverpool´s Naby Keita carried off injured in Guinea match|
|Duminy to miss Australia tour for shoulder surgery|
|F1 Raceweek: Ferrari ready to ´challenge the impossible´ as Hamilton nears title|
|Umesh replaces injured Thakur in ODI squad|
|IAAF delay implementation of testosterone ruling amid Semenya challenge|
|Fakhar and Sarfraz lead Pakistan recovery after Lyon blitz|
|Japan see off Uruguay in seven-goal thriller|
|Arda Turan given huge fine by Istanbul Basaksehir after alleged brawl with singer|
|Busquets no better or worse than Dier – does Opta data back up Allardyce claim?|
|United boss Mourinho charged for alleged post-match comments by FA|
|Halep withdraws from Kremlin Cup ahead of WTA Finals|
|Renato Sanches eager for further Bayern Munich minutes|
|Nations League standings: Promotion, relegation and race for finals|
|Windies coach Law banned for ´inappropriate comments´ in India Test|
|Carrick denies Manchester United stars are ´not trying´|
|Ferrari struggling under pressure of chasing Mercedes, says Massa|
|Australia desperately need Smith and Warner back - Warne|
|Draxler warns Germany: Mbappe has 300 hp!|
|Draymond Green says Warriors will have to ´bring it´ every night in the West|
|England´s ´wonderful bravery´ leaves Southgate excited for the future|
|Jayasuriya: I always conduct myself with integrity and transparency|
|Northern Ireland stars hurt by lack of club football, says O´Neill|
|Rodgers inspires late Packers comeback|
|Brewers blank Dodgers to take 2-1 NLCS lead|
|Cavaliers, Nance agree to four-year extension|
|Ramos wants Spain to believe in Luis Enrique´s team|
|De Laurentiis: I´ve spoken to Genoa and agent about Piatek|
|Kaka tips bright future for Paqueta after Milan agreement|
|Suns star Booker set to return for season opener|
|Warriors coach Kerr not expecting fast start from NBA champs|
|Fultz to start for 76ers as Brown eyes NBA Finals|
|Maltese champions Valletta want Usain Bolt|
|It would have been normal to kill them! Luis Enrique slams abysmal Spain|
|Seahawks, Trail Blazers owner Paul Allen dies aged 65|
|Red Sox ace Sale released from hospital, still set for game five|
|Beer-throwing fan banned by Patriots|
|Southgate lauds ´tremendous´ attackers after famous Spain win|
|Djokovic closing in on summit as he scales new heights|
|Monaco the natural move for Henry - Martinez|
|Ending England drought a ´beautiful feeling´ – Sterling|
|Halep to face Pavlyuchenkova in Moscow comeback|
|NBA 2018-19: Five non-LeBron James storylines to follow|
|Spain 2 England 3: Kane inspires Three Lions as Sterling ends drought in style|
|Bosnia-Herzegovina 2 Northern Ireland 0: Dzeko double leaves O´Neill´s side on the brink|
|Mannarino stops the rot in Moscow|
|Neymar pleased Brazil will not face Messi in Argentina clash|
|Buccaneers fire defensive coordinator Mike Smith after loss to Falcons|
|´Surprised´ Deschamps accepts he could´ve made more effort with Koscielny|
|Kuwait 0 Australia 4: Socceroos deliver win for new coach Arnold|
|Van Dijk fit for Liverpool return - Koeman|
|NBA 2018-19: Eastern Conference predictions|
|NBA 2018-19: Five rookies to watch|
|Denly replaces injured Dawson in England ODI squad|
|Low confirms under-fire Neuer to start against France|