Defending Shanghai Masters champion Roger Federer avoided a third-round upset against Roberto Bautista Agut as he came through in three sets to clinch a quarter-final meeting with Kei Nishikori.
The Swiss, whose ranking as number two in the world is under threat this week, was broken three times in the second set to force a decider but eventually prevailed 6-3 2-6 6-4.
Bautista Agut had never even taken a set off Federer in their previous seven meetings but forced a decider only to be crucially broken at 4-4, and the Swiss served out to love to clinch the win.
Federer will now meet Nishikori, who he has not lost to since 2014, for the first time since the 2017 Australian Open.
Not quite# peRFect, but good enough. @rogerfederer's quest to defend his #RolexSHMasters title forges ahead with a hard-fought 6-3, 2-6, 6-4 win over @BautistaAgut . Gets No. 8 @keinishikori in tomorrow's quarterfinal! pic.twitter.com/2Cc6JV5YTt— RolexShMasters (@SH_RolexMasters) October 11, 2018
There were signs this was not going to be a straightforward evening for Federer early in the first set when Bautista Agut had a break point in the Swiss' second service game.
He could not capitalise, though, and Federer soon gained a 3-1 lead en route to taking the opener.
Federer won an 11-minute game at the start of the second set to break Bautista Agut again before the Spaniard instantly roared back and reeled off four games in a row.
Bautista Agut then forced a decider by breaking Federer for a third time, successfully winning a challenge to bring up set point, which he took when his opponent netted a backhand.
The third set remained on serve until, at 4-4, Federer claimed his first break since the start of the second set, and he capitalised to secure another hard-fought win having also beaten Daniil Medvedev in three sets on Wednesday.
"It was a very tough match, I thought it was a really high level," Federer said afterwards.
"They're tough conditions – the ball stays super low, it's fast, it's cooler.
"If you want to make the winner you have to take a lot of risks, it seems like. If you find a great groove, it's hard to go through the opponent."
|Torino 0 Juventus 1: Ronaldo capitalises on Zaza woe|
|I do my work on the pitch – Icardi unconcerned by Inter contract discussions|
|Lyon defender Rafael set for three months out|
|Inter captain Icardi is the ´perfect´ striker – Spalletti|
|Fulham have to stick together, says Ranieri|
|Nuno hails ´very special´ Wolves achievement after third straight win|
|Stuttgart captain Gentner´s father dies at Hertha fixture|
|Valverde not desperate for new centre-back amid talk of Christensen loan|
|Toulouse and Saracens stay perfect in Champions Cup|
|Kovac lauds Bayern´s best performance of the season|
|Barcelona can get the best out of Coutinho & Dembele, claims Valverde|
|Borussia Dortmund 2 Werder Bremen 1: Alcacer and Reus guarantee top spot for mid-season break|
|Bristol City 2 Norwich City 2: Canaries knocked off their perch despite late equaliser|
|Atletico´s fighting spirit lauded by Simeone, Godin|
|Hodgson relieved to see Palace end Zaha curse|
|Real Madrid 1 Rayo Vallecano 0: Benzema secures steady response to CSKA loss|
|Fulham 0 West Ham 2: Snodgrass, Antonio punish profligate hosts|
|Warnock brands refereeing situation ´a disgrace´ after Watford defeat|
|Inter 1 Udinese 0: Icardi penalty gets lethargic Nerazzurri back on track|
|Wagner retains belief in survival bid despite Newcastle defeat|
|Griezmann feeling the strain after busy 2018|
|Pochettino ´so pleased´ as tired Tottenham scrap to Burnley win|
|Man Utd hand Smalling new contract|
|ES Tunis 0 Al Ain 3: Convincing victory books River Plate semi|
|Championship Review: Bamford fires Leeds to summit, Middlesbrough defeated by QPR|
|Curry reacts to Kings´ trolling with moon landing video|
|Wentz ruled out of Rams clash|
|Pochettino reaches 100 Premier League wins for Tottenham faster than Wenger for Arsenal|
|Real Valladolid 2 Atletico Madrid 3: Griezmann the hero on landmark appearance|
|Silva rues Richarlison´s missed chances at City|
|Gibson has no worries over Proteas batsmen|
|Wolves 2 Bournemouth 0: Jimenez and Cavaleiro score against toothless Cherries|
|Crystal Palace 1 Leicester City 0: Captain Milivojevic earns vital victory|
|Watford 3 Cardiff City 2: Hornets hang on despite late fightback|
|Tottenham 1 Burnley 0: Eriksen snatches victory at the death|
|Huddersfield Town 0 Newcastle United 1: Rondon strike settles scrap|
|Sabres suspend forward Berglund for failing to report to the team|
|Saunders thanks Fury for getting him ´back on the right track´|
|Hannover 0 Bayern Munich 4: Gnabry and Kimmich star in crushing win|
|I admire Sterling – Guardiola|
|City´s strength in depth makes it hard for me – Jesus|
|Jamieson holds slender lead in Malelane|
|Kashima Antlers 3 Guadalajara 2: Comeback win sets up Real Madrid semi-final|
|Hosszu claims fourth Hangzhou gold, Le Clos beaten by Santos|
|Manchester City 3 Everton 1: Jesus at the double as City go top|
|Parker defiant on low blow claims after ending 2018 ´with a bang´|
|Alisson: Liverpool must beat Manchester United|
|Mourinho´s brutal honesty praised by Karanka|
|Fielding inspired by Bellew after overcoming setbacks to face Canelo|
|Mourinho loves being a manager ´more than ever´|
|Khawaja unconcerned by poor start to India series|
|WATCH: Dellavedova dives into media table to rescue possession|
|Christmas form could transform Man United´s season - Rashford|
|Urgent changes needed at Manchester United – Ferdinand|
|Ishant confident as Kohli carries India into day three|
|Modric takes aim at Simeone for ´constantly undermining Real Madrid´|
|Kevin Durant provides playoffs warning to inconsistent Warriors|
|A-League Review: Janjetovic off as Wanderers suffer derby defeat|
|VanVleet turnover the ´turning point´ in Raptors loss|
|Shanahan on Mahomes no-look pass: ´I do it all the time´|
|De Bruyne and Aguero return to City bench, Sterling left out of starting XI|
|Kohli and Rahane combine to thwart Australia in Perth|
|Modric cool on Madrid future beyond current deal|
|´Fatigued´ Embiid has a lot on his shoulders - Brown|
|Crespo agrees to take charge at Banfield|
|Westbrook on Murray scuffle: He was in my way|
|Liverpool v Manchester United: Van Dijk the rock on which Klopp can build a title triumph|
|Marcelo ´never´ considered Madrid exit amid Juventus links|
|Liverpool v Manchester United: Resurgent Rashford now a leader for Mourinho|
|Injury-plagued Nuggets beat Thunder to hold Western Conference lead|