Juan Martin Del Potro produced a magnificent fightback to stun world No 1 Novak Djokovic and reach the BNP Paribas Open final at Indian Wells.
The big-serving Argentine followed up his quarter-final victory over Andy Murray with another masterful performance as he battled to a 4-6 6-4 6-4 victory.
Djokovic, unbeaten since losing to Sam Querrey in Paris last October, had looked on course to extend his winning streak to 23 matches as a single break of serve proved enough to give him the first set.
But the seventh seed responded with an early break in the second, and another gave him a 5-2 lead before Djokovic broke back and threatened to take the set to a tie-break.
However, Del Potro regained his composure to serve out and force a decider, although he looked on the verge of exhaustion as Djokovic reeled off the next three games.
But Del Potro dug deep to break back and level the set at 3-3, and the Serbian's serve faltered once more to leave the Argentine serving for the match at 5-4.
Del Potro again looked out on his feet as Djokovic fought back from 0-30 to 30-30, but the top seed then netted a tired backhand and Del Potro sealed victory in style with a booming 133mph ace to conclude a pulsating two-hour, 49-minute contest.