Alexander Zverev set up a clash with Novak Djokovic in the last four of the ATP Finals in Turin after a straight sets victory over Hubert Hurkacz on Thursday, while Daniil Medvedev squeezed past local hero Jannik Sinner 6-0, 6-7, 7-6.
Zverev, 24, claimed a spot in the semis behind already-qualified Medvedev, winning 6-2, 6-4 in just over an hour, and will face Djokovic on Saturday for a place in the final.
The German world No 3 hit 22 winners and made only eight unforced errors compared to 20 by Hurkacz, who had an uphill battle to win after a dreadful opening set.
"It wasn't easy mentally because I knew I had to win in order to go to the semi-finals... I'm happy to be through in straight sets," 2018 champion Zverev said.
Zverev looked set to qualify in short order after sweeping to the first set in just 26 minutes with a dominating display of tennis. Seventh seed Hurkacz won just nine points in the opening set as Zverev charged to the first four games before serving out to take a quick lead.
However, Hurkacz unloaded his powerful serve to put the brakes on his opponent, rattling off 10 aces in the second set to grab a foothold in the match until finally losing his serve in game nine, to leave Zverev with his chance to strike. He made no mistake by winning his serve and ensuring a clash with Djokovic at the weekend.
Zverev's victory meant that Thursday evening's match between Medvedev and Sinner was a dead rubber, with the Italian alternate denied a chance to make it out of the Red Group before he took to the Pala Alpitour court.
However, that didn't stop him putting on a show for his fans in the stands despite eventually falling to a tight defeat after two-and-a-half hours to end his first participation in the Finals.
"I think if the season had gone on a bit longer he would have had a chance to come here straight, rather than as an alternate," said world No 2 and defending champion Medvedev. "Hopefully next time if I win I can make it just a little bit shorter because I put on a show but I want to rest a little bit."
US Open champion Medvedev came out with the bit between his teeth, keen to end the contest against world No 11 Sinner as soon as possible. The Russian took just 25 minutes to win the first set to love in a menacing display, helped by 11 unforced errors from Sinner.
However, just as it looked like Medvedev was going to stroll to victory Sinner woke up, winning the first game and taking a 3-1 lead after breaking in game four.
Medvedev broke back straight away after Sinner twice hit the net with chances to win points in his hands, and from there both players held their serve to take the set to a tie-break.
And Sinner delighted the Turin crowd, who were being served up entertainment that seemed impossible an hour earlier, by taking the second set.
By now it was Medvedev who was making the majority of the unforced errors as Sinner moved ahead in the match for the first time when he claimed game five in the third set, but again Medvedev broke back and the match went to another tie-break.
After saving two match points in a thrilling final act Medvedev finally prevailed for a third straight win at this year's tournament.