Home favourite Roger Federer fought his way through to the semi-finals of the Swiss Indoors Basel for a 12th consecutive year with a 7-6 (7/1) 4-6 6-4 victory over Gilles Simon on Friday.
Federer was put on the back foot by Simon in the opening set, making a series of unforced errors before racing through the tiebreaker.
The longer the match went on – and it lasted more than two and a half hours – the more Federer was able to find his rhythm to ensure he advanced.
The eight-time champion, who is seeking his 99th career tour-level trophy, will now face seventh seed Daniil Medvedev after his 6-4 3-6 6-3 win over number four Stefanos Tsitsipas.
The other semi-final will pit second seed Alexander Zverev against qualifier Marius Copil.
Zverev advanced with a 7-5 6-3 victory over eighth seed Roberto Bautista Agut, while Copil edged out wildcard Taylor Fritz 7-6 (8/6) 7-5 in a contest which lasted almost two hours.
In Vienna, Kei Nishikori upset top seed Dominic Thiem 6-3 6-1, beating the home favourite in just 69 minutes.
The Japanese fifth seed will now face qualifier Mikhail Kukushkin after he kept his strong run going with a battling 4-6 7-6 (7/2) 7-6 (7/4) win over Marton Fucsovics in a marathon contest that lasted almost three and a half hours.
Second seed Kevin Anderson advanced when number six Borna Coric retired hurt while leading the second set 2-1. Anderson had taken the first 7-6 (7/2).
Anderson will now face Fernando Verdasco after Gael Monfils retired hurt while trailing 6-4 2-1.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Press Association Sport staff');
ga('pacontentapi.set', 'dimension2', '7ec678b3-aacf-4a7a-bcd6-56f51f286789');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:world');
ga('pacontentapi.set', 'dimension6', 'story-enriched');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:tennis');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'Roger Federer fights his way into Basel semi-final'});