World number 11 John Isner toppled world number one and defending champion Novak Djokovic 7-6 (9/7), 3-6, 7-6 (7/5) on Saturday to reach the final of the ATP Indian Wells Masters.
Isner's first victory over a world number one ensures he will move into the top 10 in the world rankings for the first time.
"The only thing I can control is how I compete," Isner said. "I tried my hardest."
America's Isner reached the first Masters final of his career, and will face either world number two Rafael Nadal or world number three Roger Federer in Sunday's final.
For Djokovic, 24, it marked a second straight semi-final defeat after he fell at the same stage in Dubai to Andy Murray earlier in March.
Reigning Australian Open champ Djokovic is now 14-2 on the season.
"It's frustrating when somebody serves over 70 percent of the first serves in and with that angle and with that speed and accuracy," Djokovic said.
"But I played him before. I knew I had to stay patient and just wait for the chance. I had some chances. I didn't use them."
Isner closed the two hour, 45 minute match out with his 20th ace.
Djokovic, who saved a match point in the 12th game of the third set to force the tiebreaker and saved two match points on his own serve in the final tiebreaker before Isner closed it out, finished with eight aces and two double faults.
Isner, who is also in the men's doubles final with partner Sam Querrey, fought off a break point with a 143 mph ace in the seventh game of the third set, then took the game and a 4-3 lead with a nice forehand to the open court that Djokovic couldn't reach.
Rain that had been forecast held off until the end of the match when the first few drops started to fall.
One of the sport's great rivalries was on display in the second semi-final between Federer and Nadal, although the rain delayed the start of their match.
Reigning French Open champ Nadal and 16-time Grand Slam winner Federer have met 27 times previously but never before on the hardcourts at the Indian Wells Tennis Garden.
Nadal has the edge over his Swiss foe having won 18 times, including four of the last five.
This marks their second meeting of this year after Nadal beat Federer in the semi-finals at the Australian Open.
Djokovic got the early break in the first set, jumping on Isner's serve in the third game of the match to go ahead 2-1.
Isner broke back in the 10th game and the players held serve over the next two games to set up the tie-break.
Isner clinched the set on the third set point after Djokovic had held him off twice previously. Isner hammered a 139mph ace to set up the second set point but then hit a backhand long on the next.
Djokovic hit a backhand into the net on the third set point to give Isner the set.
Djokovic broke Isner in the ninth game of the second set. He jumped out to a 0-40 lead on Isner's serve, before the American clawed his way back into it. Djokovic won the game on the fourth break point when Isner hit a forehand long.
That set the stage for Djokovic to serve for the set as he won four straight points, including a forehand winner to close out the set.