German fifth seed Alexander Zverev fought back from a set down to reach his first US Open semi-final by beating a battling Borna Coric.
Zverev, 23, crumbled in the first set as the Croatian 27th seed threatened his hopes of a first Grand Slam title.
But two impressive tie-breaks and a late break in the fourth set gave the German a 1-6 7-6 (7-5) 7-6 (7-1) 6-3 victory.
"I started playing a bit more aggressively," Zverev said.
"The way I was playing was not the level for a Grand Slam quarter-final. I don't want to stop here."
Zverev will play Spanish 20th seed Pablo Carreno Busta after he beat Canadian 12th seed Denis Shapovalov 3-6 7-6 (7-5) 7-6 (7-4) 0-6 6-3 in a match that lasted more than four hours.
Carreno Busta, 29, who also reached the last four in 2017, said: "I am destroyed, but I am very happy. After this fight it's tough to say but it's incredible to be in the semi-final again."
- Zverev unable to cope with early pressure
With Roger Federer and Rafael Nadal absent - as well as top seed Novak Djokovic's disqualification from the tournament on Sunday - there will be a new men's Grand Slam champion at this year's US Open.
It is a chance for the next generation of tennis stars to claim a landmark win and in the first set Zverev, an Australian Open semi-finalist earlier this year, seemed to struggle with the pressure of a possible career-defining moment looming.
Three double faults in one game from Zverev gave Coric, who is also 23, break point and the German nudged a backhand long to give the Croat a 3-1 lead.
Coric then earned three more break points and won the third as he caught Zverev off guard with a forehand that landed perfectly on the baseline.
Playing in his first Grand Slam quarter-final, the world number 32 remained composed as he served for the set, sealing it when Zverev's forehand return found the net after just 24 minutes.
- Zverev increases intensity to level scores
Former ATP Finals winner Zverev looked much more convincing at the start of the second set, with a 136mph serve helping him hold to love in a 55-second game.
After a disagreement with the umpire over a replayed point, the German squandered a 40-0 lead to give Coric break point. Zverev saved the first but lost a second as his backhand flew into the net to put Coric 3-2 ahead.
As Zverev returned to the baseline with his head down, Coric looked increasingly confident and the German dropped his racquet on the floor as his forehand flew long to give his opponent a hold.
But Zverev finally seemed to have found a crack in Coric's impenetrable play and hit a cross-court passing shot to level things once more.
Both players' levels continued to rise as they held serve to take it to a tie-break, which the world number seven won despite serving his seventh double fault of the match.
- Opportunities missed for Coric as Zverev claims victory
After a cagey start to the third set the two players exchanged breaks and Zverev became increasingly irate, first when Coric left the court at 5-4 to change his clothes and then because of an advertising board in his eye-line.
Nevertheless, the two-time French Open quarter-finalist held serve to take it to a tie-break and more solid serving gave Zverev five set points. Coric slammed a backhand into the net to give his opponent a one-set lead.
In the fourth, a 10th double fault of the match put Zverev 0-30 down and he scooped a backhand long to bring up three break points for Coric.
Although the Croat had come back from 5-1 down in the fourth set to beat fourth seed Stefanos Tsitsipas in the third round, nerves seemed to get the better of him against Zverev as he squandered his chance with three missed forehands.
Zverev then had two chances to break at 4-3 and claimed the second with a sublime forehand passing shot before peppering Coric with powerful serves to take victory.