Holger Rune beats Daniil Medvedev to snap seven-match semi-final losing streak.
Briton Jack Draper upset the overwhelming favourite Carlos Alcaraz 6-1, 0-6, 6-4 to reach the Indian Wells final on Saturday, denying the Spaniard in his bid for a rare "three-peat" in the California desert.
Draper beat the world number three at Queen's Club last year and had the winning formula again this time around, as the lefty relied on his lethal forehand to reach his first Masters 1000-level final, where he will face Denmark's Holger Rune, who beat the Russian Daniil Medvedev 7-5, 6-4 after losing his last seven semi-final matches.
Alcaraz had not dropped a set en route to the semi-final but gifted Draper a break with a double fault in the second game as he struggled to find his rhythm. The 13th seed converted on another break with a fine forehand winner in the sixth.
But the momentum flipped entirely in the second set, where Draper put up 15 unforced errors compared to just two in the first, as Alcaraz hit his stride and neutralised the only break point he faced in the first game.
Alcaraz closed out the set with a superb backhand winner and looked as though he would roll through the third with the crowd on his side.
But Draper, who retired due to injury in their last meeting at the Australian Open this year, was ready to go the distance this time around and made a perfect shot down the line past Alcaraz to convert on break point in the third game.
Draper sent an un-returnable backhand shot into the corner to go up another break in the seventh and was glad for the insurance as Alcaraz broke back in the next game.
The Briton closed it out with un-returnable serve, ending Alcaraz's 16-match win streak, and whacked a ball deep into the stands in celebration.
Earlier, Rune snapped a seven-match semi-final losing streak to reach the final, beating Medvedev in a tight match.
Rune, the number 12 seed, lost to Medvedev in the quarter-finals a year ago and will next play the winner of the match between Briton Jack Draper and back-to-back defending champion Carlos Alcaraz of Spain.
Rune and Medvedev were evenly matched in a gruelling opening set in which they traded early breaks and Rune battled through a marathon six-deuce eighth game to hold his serve.
Medvedev helped him to a break-point with a fluffed shot at the net in the 11th game and the 21-year-old Dane carried the momentum into the second set, breaking the former US Open champion to love in the third game.
Down 0-30 in the final game, Rune clawed his way back and forced a fatigued Medvedev into an error at the end of a 37-shot rally on the penultimate point before clinching victory with a powerful forehand winner.