Britain's Cameron Norrie put in a superb display to beat top seed Andrey Rublev of Russia and reach the San Diego Open final.
Norrie recovered from losing the opening set to win 3-6 6-3 6-4.
Rublev was the stronger player in the opening set but once Norrie improved his serving in the second, he looked dangerous.
He used his forehand to good effect, dragging the world number four around the court to seal victory.
"This is a match I will remember for a long time - it is such a big win for me," said Norrie.