Andy Murray avenged his US Open final defeat by Roger Federer with a superb 3-6 6-3 7-5 victory over the Swiss in the semi-finals of the Madrid Masters.
Federer broke the British number one in the fourth game on his way to winning the opening set but the 21-year-old Scot responded well to level the match.
A tense final set went with serve until the 11th game when Murray broke Federer before completing a fantastic victory.
World number one Rafael Nadal will face Gilles Simon in the second semi-final.
Murray, who lost in straight sets to Federer at Flushing Meadows in September, had not dropped a set in his march to the last four.
And the Briton, looking for a second successive Masters Series title after victory in Cincinnati in August, admitted his serve had been crucial to his fightback.