Reigning champion Yulia Putintseva's Budapest Grand Prix title defence came to a disappointing end after she was beaten in the semi-final in straight sets by Aleksandra Krunic.
The Kazakh Putintseva struggled to get going, failing to convert any of her seven break points, as the Serbian Krunic broke her serve four times en route to a 6-2 6-2 win.
Bernarda Pera will await Krunic in the final in Hungary, after her 6-3 6-4 victory over Anna Bondar.
Bondar raced out to an early 3-0 lead in the first set, but Pera rattled off six games in a row to take the opener.
The Croatian-born American then won the first three games of the second set, before overcoming a desperate late Bondar charge to break her at 5-4 and finish things off.
Sunday's final will be the third meeting between Krunic and Pera with the latter winning both of the previous contests, firstly in the quarter-finals of the Guangzhou Open in 2018 and then in Moscow in 2021.
At the Ladies Open Lausanne, qualifier Olga Danilovic cruised through to the final with a 6-3 6-2 victory over Russian Anastasia Potapova.
Danilovic won her first WTA Tour singles event in Moscow in 2018, overcoming Potapova after three sets.
And the world number 124 was victorious against Potapova once more in Switzerland to seal her place in her second WTA Tour singles final.
The Serbian 21-year-old will meet Petra Martic in the decider on Sunday after Martic overcame sixth seed Caroline Garcia 6-4 1-6 6-3.
Neither player had dropped a set on their way to the semi-finals, but things at Lausanne were tied up at one set each after two.
Garcia had won all three of her previous meetings with Martic, but the Croatian's two crucial breaks of serve in the final set were telling, as she held her nerve to reach the final against Danilovic.