Dominic Thiem reached the French Open final at the third time of asking, potentially setting up a crunch clash with Rafael Nadal.
Clay specialist Thiem made the last four at Roland Garros in both 2016 and 2017 but fell short against eventual winners Novak Djokovic and Nadal, continuing his wait for a first grand slam final.
But a 7-5 7-6 (12-10) 6-1 defeat of surprise semi-finalist Marco Cecchinato ended that miserable streak, and Thiem, who has already beaten Nadal on clay this season, could now face the defending champion in the tournament decider.
For Cecchinato, this was the end of an extraordinary run. The Italian had never won a major singles match heading into the tournament, but he took the scalp of Djokovic to reach this stage.
Thiem had too much, though, battling to take the first two sets and then cruising through the third to earn his shot at the title.
Both players contributed to an entertaining start, but Thiem quickly took control, breaking through in the opening game and then comfortably holding with ease.
The seventh seed's failure to make another gain proved costly later in the set, however, when unforced errors and a double fault opened the door for Cecchinato to draw level at 4-4.
Yet Thiem's recovery was exceptional, moving out of sight with a ruthless second break and a confident hold to wrap up the opener.
Cecchinato brilliantly saved two break points at 2-2 in the second and continued to hold his own to reach a tie-break, where a series of sensational winners from both players saw Thiem let three successive set points slip.
The battle wore on and on, before, on the Austrian's fifth set point, Cecchinato went long to fall two sets behind.
And the underdog soon faded as Thiem kicked on, racing to two swift breaks in the third and rescuing two break points to serve out the match in style.
Thiem  bt Cecchinato 7-5 7-6 (12-10) 6-1
Thiem – 37/26
Cecchinato – 24/26
Thiem – 6/2
Cecchinato – 3/3
BREAK POINTS WON
Thiem – 4/9
Cecchinato – 1/6
FIRST SERVE PERCENTAGE
Thiem – 67
Cecchinato – 80
PERCENTAGE OF POINTS WON ON FIRST/SECOND SERVE
Thiem – 82/61
Cecchinato – 61/50
Thiem – 117
Cecchinato – 91