Matteo Berrettini reached his first-ever Grand Slam semi-final after outlasting Gael Monfils over five sets at the US Open.
Monfils, seeded 13th, took the opening set but fell 3-6 6-3 6-2 3-6 7-6(5) against the Italian 24th seed, who needed five match points to continue his best run at a Grand Slam.
Standing in the way of Berrettini and a first Grand Slam final could be Rafael Nadal, who is the only remaining player in the men's singles draw to have won a major.
The Spaniard, two Grand Slams away from Roger Federer??ôs record haul of 20, faces Diego Schwartzman in the late quarter-final at Flushing Meadows.
In the duo??ôs first ever meeting, it was 33-year-old Monfils who broke with his second opportunity in the first set before closing out the opener in 33 minutes.
An immediate break of serve saw Monfils take charge of the second set, but the pendulum soon swung Berrettini??ôs way, with the 23-year-old breaking twice to level the match.
Two more breaks of serve saw Berrettini take a 2-1 lead, but Monfils rallied to force a decider on Arthur Ashe Stadium.
Berrettini took control of the final set early on, only for Monfils to hit back straight away, but it was the former who surged back in front, breaking in the sixth game.
Looking to close out the match, Berrettini double faulted on match point, and Monfils then broke back before levelling it up at 5-5.
Another two match points came and went for Berrettini, this time on Monfils' serve, with the Frenchman showing incredible resilience to hold on take it to a tie-breaker.
A double fault from Monfils handed his opponent the mini-break, and some solid serving and a correct Hawk-Eye call ensured Berrettini headed to the changeover 4-2 up.
Berrettini benefited from another Monfils double fault to lead 5-2, but the Italian relinquished his advantage when losing the next two points on serve.
A remarkable rally then saw Berrettini bring up two more match points at 6-4, and while Monfils saved the first, it was fifth time lucky for Berrettini, as he watched Monfils' return bounce out.