British number one Cameron Norrie beat Spain's third seed Carlos Alcaraz to reach the semi-finals in Cincinnati.
Norrie, 26, squandered a 4-1 lead in the second set and battled back from 3-1 down in the decider to win 7-6 (7-4) 6-7 (4-7) 6-4 in just over three hours.
The world number 11 will play Croatia's Borna Coric in the next round, while world number one Daniil Medvedev will play Greece's Stefanos Tsitsipas in the other semi after their wins.
"That was unbelievable," said Norrie.
Alcaraz, ranked fourth in the world, had been seeking his third ATP Masters 1000 title of the season but was only able to convert two of the 13 break points he had against Norrie.
The Briton, who has reached his second ATP Masters 1000 semi-final, added: "Credit to Carlos. I was up a set and a break, 4-1, and I kind of lost a little bit of vision. I was thinking a little bit too much about the finish line rather than focusing on how I was winning points and I honestly got a little bit tight and he raised his level, didn't give me anything.
"I just wanted to hang tough with him and I think the only place I had him better was the legs and the physicality. So I was just trying to make every rally as physical as I could and make it tough for him to finish points."
Norrie, who reached the Wimbledon semi-finals last month, is expected to move up to at least ninth in the world rankings.
The US Open, the final grand slam of the year, starts on Monday, 29 August.
Elsewhere, Russia's reigning US Open champion Medvedev beat American Taylor Fritz 7-6 (7-1) 6-3, world number seven Tsitsipas took out American John Isner 7-6 (7-5) 5-7 6-3 and Coric, ranked 152, beat Canada's Felix Auger-Aliassime 6-4 6-4.
Garcia continues run in women's draw
American Madison Keys will face Petra Kvitova in the semi-finals of the women's draw after she beat Kazakhstan's Wimbledon champion Elena Rybakina 6-2 6-4.
Two-time Wimbledon champion Kvitova, of the Czech Republic, won her quarter-final in straight sets, dispatching Australian Ajla Tomljanovic 6-2 6-3, to set up the meeting with 2019 champion Keys.
The other semi will see world number seven Aryna Sabalenka of Belarus face France's Caroline Garcia.
They each came through with minimal fuss, with Sabalenka beating China's Zhang Shuai 6-4 7-6 (7-1) and world number 35 Garcia maintaining her charge from qualifying against American Jessica Pegula - winning 6-1 7-5.
Garcia, 28, says her form - having won 25 matches since the start of June - has earned her more respect from the tennis world.
"When you do bad, people forget about you pretty fast and forget what you did in the past," she said after reaching her first WTA 1000 semi-final in four years.
"As soon as you get a couple of wins in a row under your belt and play better, it's like you are a top star again. Like you go from a loser to maybe one of the best players right now."