Croatian-born New Zealander Erakovic beat American Christina McHale 6-4 6-3, before Czech Safarova recovered from a slow start to edge Canadian Eugenie Bouchard 3-6 6-3 6-2.
"Today was pretty tough," Erakovic told reporters. "It was very see-saw in the first set and I managed to keep clawing back."
Sixth-seed Erakovic had the edge on unseeded McHale in most statistical categories on the indoor carpet surface, winning 52 percent of her service points and 53 percent of her return points.
Erakovic converted six of 14 break points, while McHale capitalized on four of six break opportunities as both players had trouble holding serve.
Erakovic fell behind a break three times in the first set before winning eight consecutive games to take command.
"I managed to take that set out and I felt I needed to keep lifting my game in the second set and I think I did really well," Erakovic said. "I was hitting some really big forehands and moving better."
"She (McHale) started to play better and made it a lot more difficult but I managed to serve it out which was great."
Third seed Safarova had to work hard to outlast home favorite Bouchard, the fifth seed.
Safarova's serve proved the difference as she won 34 of 40 points when she put her first serve into play, while Bouchard won 29 of 41 first serves.
In Sunday's final, 25-year-old Erakovic, whose world ranking is 68, will be seeking her second WTA career title.
World number 48 Safarova has four career titles.
They have clashed just once previously, with Safarova winning 9-7 in the third set at the 2009 Australian Open.
- Sports & Recreation
- Christina McHale