Sebastian Korda kept his nerve to topple second-seeded John Isner 6-3, 4-6, 6-3 on Monday and reach the semi-finals of the ATP Delray Beach Open in Delray Beach, Florida.
Korda, ranked 119th in the world, was serving for the match when he fell behind 0-40 against his big-serving compatriot.
But the former junior world No 1 battled back to book his first ATP semi-final in one hour and 51 minutes.
"I was super-happy with how I played that whole game," Korda said of the clincher. "I mean, he played an incredible first three points.
"The way he played those, I was like, 'Too good.' I couldn't really do anything. He came to the net, he played big balls, he played a super-good three points.
"I just stuck with it, I got a little bit more aggressive," said the 20-year-old, who will play Britain's Cameron Norrie for a place in the final.
Norrie ousted 2018 champion Frances Tiafoe 6-0, 3-6, 6-4.
"He fought real hard, and I managed to get a little bit lucky in the third set there with a couple netcords and a couple close calls," Norrie said. "Real fortunate to get through."
Christian Harrison's fairy tale run continued with a 7-6 (7/2), 6-4 semi-final victory over Italian Gianluca Mager.
Harrison, ranked 789th in the world, had toppled Chilean top seed Cristian Garin to reach the quarter-finals and said it felt "pretty amazing" to find himself in the last four.
His three match wins this week already exceed the two tour-level victories he had coming into the event, and he'll try to add another when he takes on fourth-seeded Hubert Hurkacz for a place in the final.
Poland's Hurkacz advanced with a 6-4, 6-4 victory over Ecuador's Roberto Quiroz.
Results on Monday from the ATP Delray Beach Open in Delray Beach, Florida (x-denotes seed):
Christian Harrison (USA) bt Gianluca Mager (ITA) 7-6 (7/2), 6-4
Hubert Hurkacz (POL x4) bt Roberto Quiroz (ECU) 6-4, 6-4
Cameron Norrie (GBR) bt Frances Tiafoe (USA x8) 6-0, 3-6, 6-4
Sebastian Korda (USA) bt John Isner (USA x2) 6-3, 4-6, 6-3