Agnieszka Radwanska ignored a troublesome shoulder to beat Germany's vomiting Andrea Petkovic 4-6 6-0 6-4 on Saturday and reach the final of the San Diego Open.
Top seed Vera Zvonareva also advanced to the final after seeing off Ana Ivanovic 5-7 6-4 6-4.
Radwanska, who has not won a WTA Tour singles title for three years, injured her shoulder at the Stanford tournament last week and her service speed has been heavily reduced because of the problem.
"I'm really doing everything to go on court and play my best," Radwanska told reporters.
"You try to do everything, the painkillers, just keep fighting.
Petkovic started the match brightly by hitting through the crafty Radwanska in the first set but the German began to lose steam in the second.
Petkovic, who said she ate something bad at lunch, then sprinted off the court to the bathroom when she was 0-40 down in the fifth game of the second set to be sick.
"At the point where I ran out, I couldn't hold it back anymore," she said.
"I didn't want to be on... (television) for the next 25 years."
Tour supervisor Melanie Tabb chose not to penalise Petkovic and allowed her to take a medical time out because the German had informed her and the umpire beforehand that she might need to dash away because of the ailment.
After going down 4-0 in the third set, Petkovic finally regained her energy and reeled off three straight games behind her booming groundstrokes.
But the agile Pole held firm and sealed victory in two-hours and 10 minutes after forcing her opponent to make a forehand error.
In the other semi-final, Zvonareva repelled a late third-set charge from the Serbian thanks to her ability to change the pace and angles.
"I started playing a little bit more aggressive overall," said Zvonareva.
"We've been working on few things with my coach. I tried to implement them into the match.
"I felt like sometimes I was going for some crazy shots and making some wrong decisions. But I knew I had to push myself to keep trying them."