Top seed Daniela Hantuchova battled past Taiwan's Chan Yung-Jan 7-6 (7/4), 4-6, 6-2 to join fellow seeds Nadia Petrova and Patty Schnyder in the Bali Open semifinals on Friday.
Slovakia's Hantuchova, last year's runner-up, negotiated an opening set littered with eight breaks of serve and saved two set points before taking the lead on a tie-break.
But Chan, a Strasbourg semi-finalist in May, levelled at a set each before Hantuchova eventually steadied to claim victory in just over two-and-a-half hours.
"I weathered the storm," said Hantuchova. "She was swinging at everything.
"I just tried to hang in there. A couple of loose points and she was back in the match. I was the stronger player in the third, I could tell she was getting tired."
Hantuchova will meet Austrian Tamira Paszek, who upset Italian third seed Flavia Pennetta, in a 4-6, 6-0, 6-2 comeback.
Second seed Patty Schnyder had it much easier as she crushed Marta Domachowska 6-2, 6-2 in the 57th-ranked Pole's first quarter-final of the season.
"I made few early errors and had a great start," said the Swiss US Open quarter-finalist.
"She had to adjust to my game and didn't like it."
Earlier Russian fourth seed Petrova overcame a ragged start to beat Italy's Francesca Schiavone 6-4, 6-3.
Petrova recovered from 4-1 down in the first set, then raced away for her third consecutive straight-sets win against the fifth seed.
"I had a poor start and I got mad at myself," said Petrova, competing in Bali for the second time. "I didn't like the way I was playing.
"I wasn't giving the right fight out there, I realised that and started doing something about it.
"In the second set I felt more in charge and confident on serve. Overall, I'm happy with the performance."
Petrova will face Schnyder on Saturday trailing 5-6 in their series dating back to 2000.