"I jumped out of the bed, I had no idea what was going on," Ivanovic said. "Everything started moving and cracking, and it was the first time I was in an earthquake."
After racing through the first set, Ivanovic broke at 5-5 in the second and held to advance to the final.
Medina Garrigues defeated Sabine Lisicki 6-3, 4-6, 4-0 Saturday after Lisicki retired with a back injury.
Lisicki, who said she took painkillers before the match, first had treatment in the second set but still managed to break serve and win the set.
However, the 22-year-old German lost power in the third set and she pulled out at 30-30 while trailing 4-0.
"I was fighting, but unfortunately I wasn't able to finish," Lisicki said.
"I didn't have too many retirements in my career and now I have two in a row," Medina Garrigues said. "I feel bad for Sabine."
The 29-year-old Spaniard will play the 18th final of her career against Ivanovic in the final tournament on the WTA calendar. Ivanovic leads their career matchups 2-1.