Pennetta sets up Li Na semi
Li Na will play Flavia Pennetta in the semi-finals of the BNP Paribas Open after the Italian defied a dust storm to defeat Sloane Stephens.
There had already been plenty of twists and turns before the wind whipped up and the Santa Rosa mountains disappeared from view.
Stephens initially seemed to be dealing with the conditions better and, having broken Pennetta when she served for the match in the second set, the American made it six games in a row to lead 3-0 in the decider.
But back came Pennetta and she eventually took her fifth match point to triumph 6-4 5-7 6-4.
The Italian has had a remarkable 10 months and will return to the top 20 a year after considering retirement as she battled to rediscover her form after wrist surgery.
Li also came through a long battle to win her Australian Open rematch with Dominika Cibulkova 6-3 4-6 6-3.
The top seed had won all five previous clashes with Cibulkova, most recently in the final in Melbourne, where she secured her second grand slam title.
On that occasion Li was a convincing winner, not dropping a game in the second set, but things were very different in California.
The Chinesewoman made a good start and took the opening set but her forehand lost its radar in the second and Cibulkova raced into a 5-1 lead.
Li recovered three games but could not salvage the set, and the world number two looked increasingly frustrated as the decider became a dogfight.
But she found her form just in time to win the final three games and make the last four in Indian Wells for the first time since 2007.
Asked if she was happy with her performance, the world number two said: "Half and half. At least I'm still in the tournament.
"I think it's still a little bit of a problem because my level cannot stay the same from the beginning to the end. At least I got information so I'll take it."
In the men's tournament, Alexandr Dolgopolov won the battle of the giant-killers against Milos Raonic to reach his first Masters series semi-final.
The Ukrainian knocked out world number one Rafael Nadal in the third round while Raonic toppled Wimbledon champion Andy Murray on Wednesday.
Raonic led 3-0 in the second set but Dolgopolov won five games in a row and clinched a 6-3 6-4 victory.
The 25-year-old reached a career-high ranking of 13 two years ago and appears to be returning to that form.
He said: "With my game I always believed I can beat anyone on a good day because I hit flat, I have the shots. I wasn't consistent enough, that's true. But I knew if I can get that consistency that I can trouble anyone."