Victoria Azarenka overcame fellow seed Karolina Pliskova in three sets to reach the BNP Paribas Open final.
Azarenka - the 13th seed and 2012 champion - was pushed but dug deep to win 7-6 (7-1) 1-6 6-2 at Indian Wells on Friday.
Pliskova saved eight of 11 break points and tallied 17 aces but it was not enough as Azarenka earned a showdown with world number one Serena Williams - her second WTA final of the year after winning the Brisbane International in January.
Things did not go Azarenka's way early and her racquet bore the brunt of it, with the agitated Belarusian losing her cool on more than one occasion.
Azarenka, though, did keep her composure to fend off two set points and hold serve.
That was the turning point for Azarenka, who then broke the Czech 18th seed straight after to level the match at 5-5.
Dogged and determined, Azarenka reeled off a third consecutive game before closing out the set.
It was a completely different story in the second set as Pliskova steamrolled her way back into the contest.
Pliskova hit six aces, saved all four break points she faced and broke Azarenka to love twice in a one-side set.
Azarenka, however, was not in a giving mood in the deciding set, dropping just four points on serve as she wrapped up the match in two hours, six minutes.