Pablo Carreno Busta reached his second grand slam semi-final with a five-set win over Denis Shapovalov at the US Open.
The Spanish 20th seed fought to a 3-6 7-6 (7-5) 7-6 (7-4) 0-6 6-3 victory over Shapovalov at Arthur Ashe Stadium.
The huge battled lasted four hours, eight minutes as Carreno Busta advanced to the semi-finals in New York for the second time and first since 2017.
Shapovalov produced a rollercoaster performance in his maiden major quarter-final, but the Canadian 12th seed fell short.
Carreno Busta, who advanced in the fourth round when Novak Djokovic was defaulted to open up the men's draw, will face Alexander Zverev in the semi-finals.
After trading early breaks, Shapovalov landed what proved to be the key blow of the opening set in the eighth game, breaking for 5-3 thanks to a rasping forehand winner down the line.
There were four breaks in the opening five games of the second set, with Carreno Busta unable to consolidate either of his.
Shapovalov held from 0-40 in the eighth game and saved a set point in the 10th, but there was no denying Carreno Busta as he played an excellent tie-break to level the match.
Carreno Busta broke for 3-2 in the third after Shapovalov sent a backhand wide, but just as he looked to be in control, he too dropped serve.
But while the tie-break again went Carreno Busta's way, Shapovalov dominated the fourth set, winning it to love on the back of 16 winners and just three unforced errors.
Carreno Busta required treatment on his lower back before the decider as the clash ticked towards a fifth hour.
After an even start to the fifth set, Carreno Busta was handed a break in the sixth game when Shapovalov double-faulted and he made no mistake closing it out.
Carreno Busta  bt Shapovalov  3-6 7-6 (7-5) 7-6 (7-4) 0-6 6-3
Carreno Busta – 33/42
Shapovalov – 76/76
Carreno Busta – 5/1
Shapovalov – 26/11
BREAK POINTS WON
Carreno Busta – 5/21
Shapovalov – 8/16
FIRST SERVE PERCENTAGE
Carreno Busta – 71
Shapovalov – 62
PERCENTAGE OF POINTS WON ON FIRST/SECOND SERVE
Carreno Busta – 68/54
Shapovalov – 79/40
Carreno Busta – 152
Shapovalov – 160