Wimbledon champion Elena Rybakina defeated world number one Iga Swiatek in straight sets to reach the Indian Wells final.
Kazahk 10th seed Rybakina was dominant against defending champion Swiatek, needing just one hour 17 minutes to beat the Pole 6-2 6-2.
It is the second time Rybakina, 23, has beaten Swiatek this season after defeating her at the Australian Open.
She will face Aryna Sabalenka in a repeat of the Australian Open final.
“Today in some moments I played at my highest level,” Rybakina said.
“There are moments you feel, ‘OK, I can beat anyone if I always play like this’. It’s the goal, but you never feel amazing and perfect every match. Today it was really good from me.”
Rybakina took the first set against Swiatek in 36 minutes and raced to a 4-0 lead in the second before completing victory.
“I gave it all but Elena was a better player,” said Swiatek, the defending champion at the Miami Open, which starts on Tuesday.
“Unfortunately I’m feeling discomfort and pain in my ribs and it was challenging for me to compete at my highest level. I will consult with my team and I will definitely use these next days to recover.”
Belarusian Sabalenka, who won her maiden major singles title in Melbourne, beat Greece’s world number seven Maria Sakkari 6-2 6-3 in the other semi-final.
Britain’s Neal Skupski and the Netherlands’ Wesley Koolhof are through to the men’s doubles final.
They claimed a 6-3 4-6 10-5 win over Mexico’s Santiago Gonzalez and France’s Edouard Roger-Vasselin.
Skupski and Koolhof will play India’s Rohan Bopanna and Australia’s Matthew Ebden in Sunday’s final.
Former world number three Elina Svitolina will return to the WTA Tour following her maternity leave at the Charleston Open in South Carolina in April.
The Ukrainian, who last played a year ago in Miami, accepted a wildcard for the event after the birth of her daughter with husband and fellow tennis player Gael Monfils.