Dominic Thiem claimed his first win over world number one Andy Murray to book his place in the final of the Barcelona Open on Saturday 6-2, 3-6, 6-4.
The Austrian will face Rafael Nadal, who is looking for his 10th title in Barcelona, or Argentina's Horacio Zeballos on Sunday.
Murray squeezed past Albert Ramos-Vinolas in a three-hour encounter on Friday and looked flat-footed as Thiem roared through the opening set with three breaks of serve in just over half an hour.
The Scot had to stave off another break point in a marathon opening game to the second set.
But he held on and then jumped at his chance to break for 5-3 before serving out to take the match to a decider.
Murray, though, still looks a pale shadow of the player that rose to number one on a spectacular run at the end of last year as he struggles for form and fitness after an elbow injury.
Thiem had to battle back from a break down in the third, but constantly put pressure on the Murray serve and broke another three times in the deciding set to seal his place in the final.