John Isner pulled off the biggest win of his career at Indian Wells tennis tournament before Roger Federer outplayed long-time rival Rafael Nadal in the other semi-final.
Big-serving American Isner overpowered world number one Novak Djokovic 7-6 3-6 7-6 and will face Federer in Monday's final, the Swiss having eased past Spaniard Nadal 6-3 6-4.
The second semi-final was delayed by three-and-a-half hours because of steady rain before Federer and Nadal came out for their much anticipated showdown.
The Swiss maestro then dominated proceedings, sealing victory in one hour and 31 minutes.
Serving for the match at 5-4 and 40-30, Federer was briefly held up by a light sprinkling of rain before he powered down a booming ace, his sixth in all, to book his place in the final.