Andy Murray got the better of Rafael Nadal at the Madrid Open for the second year in succession to move within one victory of defending his title in the Spanish capital.
Nadal beat Murray in the last four of the previous Masters 1000 event in Monte Carlo and came into Saturday's match on the back of a 13-match winning streak.
However, Murray's sole previous success against Nadal on clay came in the final of this event in 2015 and the Briton proved clinical when it mattered most as he prevailed 7-5 6-4 to edge closer to a third title in Madrid.
Murray is now set to face world number one Novak Djokovic or Kei Nishikori on Sunday and will hope to replicate the battling qualities he showed to see off the persistent Nadal.
A sloppy start from the Spaniard gifted Murray a 4-1 lead, but Nadal hit back as his opponent served for the first set and a tie-break appeared likely.
However, Nadal then slumped to 0-40 in the 12th game and Murray moved ahead in emphatic fashion with a thumping return winner down the line from a weak second serve.
The reigning champion came under heavy pressure for much of the second set, repeatedly saving his best work - and most telling serves - for the key moments as he saved a host of break points either side of taking a single opportunity he was able to carve out on Nadal's serve.
There was another twist in the tale as Nadal finally broke, at the ninth time of asking in set two, after Murray had failed to take a match point.
Yet Murray got to 15-40 in the next game when Nadal, who had been shaky on overheads throughout, netted an attempted smash and the contest was brought to an end when the home favourite immediately erred again.