Flavia Pennetta shocked world number two Li Na to reach the final of the BNP Paribas Open in Indian Wells.
Italian Pennetta, the 20th seed, won 7-6 (7-5) 6-3 to set up a meeting with Poland's Agnieszka Radwanska, who beat Romanian Simona Halep 6-3 6-4.
Serbia's Novak Djokovic, the world number two, beat Julien Benneteau 6-1 6-3 to reach the men's semi-finals.
He faces John Isner in the last four after the American saw off Latvian Ernests Gulbis 7-6 (7-4) 7-6 (7-3).
Roger Federer meets Ukrainian Alexandr Dolgopolov in the other semi-final, both of which will be played on Saturday.
China's Li served nine double faults and made a series of forehand errors and Pennetta, also 32, capitalised to reach the biggest final of her career.
"I don't think I was playing bad; it was pretty high-level match," said Li. "Some points I was feeling I still have a chance, (but on the) more important points I got double fault."
Djokovic, 26, was in fine form, breaking unseeded Frenchman Benneteau twice in each set without facing a break point as he wrapped up victory in 68 minutes.
He is seeking his first title of 2014 after reaching the quarter-finals of the Australian Open and Dubai.
"I had to stay focused," said Djokovic. "Today he made a lot of unforced errors. I tried to make the most of those opportunities when they were presented."
Both finals will be held on Sunday.