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.
|Vidic hails Ronaldo as ultimate professional ahead of Old Trafford return|
|Warriors´ Cousins nearing NBA return|
|Pogba can´t do the basics – Souness criticises Man United star|
|Messi absence big blow for Barca as Icardi talks up Inter|
|´You can´t cry, that´s true´ – Ronaldo responds to Isco|
|Bartomeu: Barca still competitive without Messi|
|Bills RB McCoy remains in concussion protocol|
|Raiders place Marshawn Lynch on IR|
|Emery calm over title talk after another Arsenal win|
|Green: Warriors have to clean up defensively|
|Mariners say Bolt talks ongoing amid reports contract offer was rejected|
|Proud captain Ozil revels in Arsenal´s ´sexy football´|
|Puel angry over Holding handball|
|Cilic breezes through in Basel, Anderson fights back|
|Ingram: Four-game ban better than we expected|
|Raiders send Cooper to Cowboys for first-round pick|
|Arsenal 3 Leicester City 1: Outstanding Ozil inspires comeback win|
|World Series 2018: Three reasons why the Dodgers will win|
|Yarmolenko out for six months after Achilles surgery|
|World Series 2018: Three reasons why the Red Sox will win|
|Ozil eclipses Klinsmann to become Premier League´s most prolific German|
|Allegri expecting Old Trafford battle against Mourinho´s United|
|Bertens feared she did not belong in Kerber clash|
|Returning Ronaldo expecting ´tough´ game against Manchester United|
|Cristiano Ronaldo confident of clearing his name amid rape allegation|
|Osaka looking to learn from losing start in Singapore|
|Kovac expects tough test against AEK Athens|
|Whyte gives Chisora deadline over rematch|
|Spartak Moscow sack Massimo Carrera|
|Atletico Madrid confirm fresh injury issue for Gimenez|
|Dolberg extends Ajax contract after Real Madrid links|
|Ronaldo an example for Lukaku to follow|
|Bertens battles back to blast past Kerber|
|Ramos apologises for training ground fracas|
|Raikkonen should take heed of Alonso misfortune as F1 career winds down|
|Guardiola wants Manchester City fans to push team to Champions League glory|
|Isco not interested in departed Ronaldo - he didn´t want to be here|
|World Series 2018: Three storylines to watch in Red Sox-Dodgers|
|Neymar focus bad for football - PSG´s Maxwell|
|Marco Ianni charged by FA over Jose Mourinho touchline row|
|Stephens sees off Osaka in see-saw Singapore battle|
|I´m happy at Manchester United - Mourinho dismisses Real Madrid reports|
|Semenya and Asher-Smith head IAAF Female World Athlete of the Year shortlist|
|Mandzukic to miss Manchester United trip|
|I turned down Manchester United to return to Juventus - Bonucci|
|Sanchez out of Manchester United´s clash with Juventus|
|Australia make Short work of run chase in T20 win|
|Brotherly g-love! Tommy Fury follows Tyson into the pros|
|Ozil´s international retirement can help Arsenal - Emery|
|If you sack Lopetegui, you have to sack us all – Isco|
|Lopetegui defiant amid Real Madrid sack reports|
|Sri Lanka spinner Herath to retire after Galle Test|
|Ronaldo returns for Old Trafford welcome amid disquieting noise|
|Garcia claims third Andalucia Valderrama Masters title|
|Ex-England international Waldrom retires|
|´Massive personality´ Hart can lift Burnley, says Kompany|
|Liverpool felt wrath of ´emotional´ Klopp, says Shaqiri|
|Reid: Jenkins capitalised on Kaepernick movement|
|Manchester United v Juventus: Ronaldo out to end dismal scoring record against Mourinho|
|Injured Ribery to miss Bayern´s clash with AEK|
|Wilshere would have stayed at Arsenal under Wenger|
|Mahomes stars again as Chiefs crush Bengals|
|Bolt must accept ´much less´ to join Mariners, says A-League chief|
|Klopp compares Liverpool to dog without favourite toy|
|Young leads Hawks to first win, Thunder fall in Westbrook´s return|
|Spalletti hits out at physical Milan – I had three players asking to be replaced|
|Cowboys, Ravens lose after missed kicks in final seconds|
|Hernangomez secures Nuggets´ win over Warriors with last-second block|
|Hasler returns to Manly on three-year deal|
|Sarri: Chelsea fans must respect Mourinho|