Alexander Zverev felt a patient approach paid off against John Isner as he made sure not to miss out on the knockout stages of the ATP Finals for a second successive year.
German Zverev failed to qualify for the semi-finals in 2017 after losing his final group match, going down in a three-set thriller against Jack Sock at the O2.
However, the world number five made sure history was not repeated when facing another American opponent this year, recording a 7-6 (7-5) 6-3 triumph over John Isner to set up a clash with Roger Federer on Saturday.
In a tightly fought contest, the 21-year-old from Hamburg recorded the only break against the big-serving Isner, who bowed out of the season-ending tournament with a third straight defeat.
"Against John, you have to be patient. There are going to be a lot of games where you really don't touch the ball on his serve," Zverev told Sky Sports.
"That's what happened for one and a half sets basically, so you've really got to take your chances when you get them.
"I did that well today and I'm very happy to be through to get another chance to play tomorrow."
Zverev admitted the memories of losing to Sock at the same venue a year earlier had motivated him ahead of his final outing in Group Guga Kuerten.
"I was in the same position last year against Jack Sock and missed my opportunity to go through," he added.
"I really wanted to do it differently this year, I really wanted to come out and be aggressive, play the best game I can and give myself the best possible chance to be in the semi-finals."
In the other last-four clash, top seed Novak Djokovic will take on Kevin Anderson of South Africa.
|Mercedes, Ferrari lead Lauda tributes with new liveries in Monaco|
|Atletico Madrid´s Juanfran ´leaves as an Indian´ with emotional speech|
|Neymar & Mbappe could leave PSG, hints Tuchel|
|Guardiola to Juventus talk ´a load of nonsense´, say Manchester City|
|Prescott Cowboys extension will ´get done eventually´|
|Arsenal want to win Europa League for Mkhitaryan, says Mustafi|
|Lionel Messi´s 36 La Liga goals from 2018-19 in one place|
|Cleary stakes Origin claim as Penrith end losing streak|
|PSG defender Kimpembe has groin surgery|
|Jovic, Rebic and Haller could all leave Frankfurt - Bobic|
|David Luiz hails Cech but hopes to send former team-mate out with a defeat|
|Barcelona snap up Dutch teen star Reis from Groningen|
|PSG president Al-Khelaifi denies alleged corruption relating to World Athletics Championship|
|Juventus fans will learn to love Allegri, says Zaccheroni|
|Halep closest to being WTA´s Nadal - Pliskova|
|Swansea´s James pulls out of Wales squad after father´s death|
|Notts sign India spinner Ashwin|
|Svitolina has no expectations for French Open|
|Sala voice message reveals reluctance over Cardiff move|
|Werner to Bayern? Leipzig´s Rangnick has doubts|
|Willian would be sad to see Hazard leave Chelsea|
|Real Madrid star Vinicius: It was a great year for me|
|French Open 2019: The best bets for Roland Garros glory|
|Bucks boss Budenholzer baffled by Drake antics in Raptors series|
|Wacha struggles in Cardinals loss|
|Rakitic would ´love´ Griezmann at Barcelona|
|Kawhi Leonard ´feeling good´ ahead of Game 5 – Nurse|
|Socceroos include six debutants for South Korea friendly|
|Jorginho: I´d be surprised if Sarri left Chelsea|
|New York Red Bulls 2 Vancouver Whitecaps 2: Montero earns draw for visitors|
|Rudan to lead A-League newcomers Western United|
|Marta & Orlando Pride eyeing NWSL play-offs|
|Prince, Cecil Fielder amazed by Christian Yelich|
|Don´t be surprised if Durant joins Clippers – Perkins|
|Rudolph confirms five-year offer from Vikings|
|Yankees slugger Stanton shut down for 7-10 days|
|Cipriani named Premiership Player of the Season|
|Boxing set for Tokyo 2020 but AIBA faces suspension|
|Chelsea on the verge of ´great season´ under Sarri, insists Pedro|
|Halep unperturbed by French Open title challengers|
|Giannis makes NBA All-Defensive First Team|
|Cleveland, Kansas City to host future NFL Drafts|
|Leclerc keen to end drought at ´special´ Monaco GP|
|Wawrinka and Fucsovics upset in Geneva|
|Viviani concludes disappointing 2019 Giro bid|
|FIFA abandons plans for 48-team World Cup in Qatar|
|AFC Champions League Review: Guangzhou Evergrande squeeze through, Kashima Antlers´ title defence co|
|Sabalenka through on busy day in Strasbourg|
|Hamilton excused from media duties after Lauda´s death|
|Arsenal did not offer Ramsey new deal due to ´salary balance´ concerns|
|Hales hopes England door not closed, targets T20 World Cup|
|Ter Stegen out of Copa del Rey final|
|Ewan victory sees Demare nudge into Giro points lead|
|Khawaja sent for scans after blow to head|
|Diego Costa a doubt for start of Atletico´s pre-season with ligament sprain|
|Caballero commits to Chelsea for 2019-20|
|F1 Raceweek: Ricciardo or Red Bull to halt Mercedes? - Monaco GP in numbers|
|Deco: Valverde will be feeling heat at Barcelona after Liverpool loss|
|Caparros to be replaced as Sevilla coach but remain at the club|
|England have no margin for error at World Cup, warns Stokes|
|An iconic character - Villeneuve & Prince Albert remember Niki Lauda|
|Borussia Dortmund sign Leverkusen star Brandt|
|Rudi Garcia to leave Marseille|
|If my job depends on one game, I want to leave Chelsea immediately – Sarri|
|Sarri hopes Hazard stays at Chelsea but will respect any decision|
|NRL Opta facts: Retiring Cronk seeks 100th try|
|Trail Blazers give coach Terry Stotts multi-year extension|
|Guingamp and coach Gourvennec part ways following relegation|
|Coutinho returns to Barcelona training ahead of Copa del Rey final|
|Lam signs new long-term contract with Bristol|