Alexander Zverev will face 20th seed Pablo Carreno Busta in the last four of the US Open after surviving a stern test of his nerve to become a grand slam semi-finalist for the second time in as many majors this year with his four-set win over Borna Coric in the quarter-finals.
The fifth-seeded Zverev got off to a slow start but raised his game to advance 1-6 7-6 (7-5) 7-6 (7-1) 6-3 despite 12 double faults and 46 unforced errors.
Coric made a flying start and needed only 24 minutes to wrap up the first set during which he took advantage of a flat Zverev.
However, Zerev showed plenty of fight in the second set as he came back from a break down and 4-2 to level the match by winning the tiebreak before unleashing an extended roar.
After trading early breaks in the third set, Zverev cruised through another tiebreak while a single break in the fourth set proved decisive.
"I just started playing maybe a little bit more aggressive because if I would've played the way I played (at the start), it's not the level for a quarter-final match at a grand slam," Zverev said.
The German's next opponent will be Carreno Busta, who outlasted an erratic Denis Shapovalov 3-6 7-6(5) 7-6(4) 0-6 6-3 in a seesaw battle to advance to his second US Open semi-final.
The 29-year-old Spaniard, the oldest of the men's quarter-finalists, had looked down and out when his Canadian opponent served him a bagel in the fourth set.
However, after getting some treatment to his lower back, the 2017 semi-finalist fought back gamely to seal the deciding set in a match that lasted more than four hours.
"I'm destroyed," Carreno Busta said, "but I'm very, very happy."
Zverev, who reached a major semi for the first time at the Australian Open in January before losing to Dominic Thiem, is the first German to reach the semi-finals of the men's singles at the US Open since Boris Becker in 1995.
"It's great to be in the semi-finals and unfortunately we haven't been there in 25 years for a German player, but there will be many more after me and hopefully I can continue the way I'm going," Zverev said.
In a sign of the tension during the match, Zverev paused before serving in the third set to ask courtside commentator Brad Gilbert to pipe down.
With no fans at the US Open due to coronavirus restrictions, it's quiet in the stadiums but Zverev wanted it even more so.
"You're talking too loud, man," Zverev said.
"Oh, sorry," a chastened Gilbert replied.
"I can hear every single word you're saying," Zverev said.
Gilbert had just commented on Zverev's nine double faults, but with silence restored the German hit a service winner to hold for 3-3.