Timea Bacsinszky was not always at her best, but the top seed had enough to defeat Timea Babos and reach the final of the Grand Prix de SAR La Princesse Lalla Meryem on Friday.
In a topsy-turvy semi-final there were 10 breaks of serve in total and it was Swiss Bacsinszky that showed the greater composure to win through 6-4 7-5 in Rabat.
Bacsinszky had beaten Babos once on clay, albeit that coming six years ago in Budapest, and the world number 15 will now go in search of a fourth career WTA title.
In the other semi-final, Marina Erakovic powered back from losing the first set to defeat Kiki Bertens 2-6 7-6 (9-7) 7-5.
New Zealander Erakovic was ranked inside the world's top 50 as recently as 2013, but injury has seen her plummet to world number 186.
Bertens had the chance to book her spot in the final when serving at 5-3 up in the second set, only to hand the break straight back.
The Dutchwoman even had a match point in the tie break, but Erakovic won three straight points to level the match.
Erakovic showed signs of nerves after failing with two match points when serving at 5-4 up in the decider, but she broke in game 12 to seal the win.