After dropping just one game in her quarter-final win over Kristina Mladenovic, Svitolina needed nearly two and a half hours to dispatch Peterson 6-1 6-7 (4-7) 6-3 on Saturday (AEST).
The No.1 seed will seek her 16th career WTA Tour title against No.9 seed Alize Cornet, who rallied to defeat Varvara Gracheva 4-6 6-1 6-0 in the other semi-final.
Gracheva's capitulation after winning the first set was understandable, as earlier in the day she had finished off a quarter-final upset of No.8 seed Marta Kostyuk in a match that had been suspended because of darkness on Friday (AEST).
Gracheva prevailed 6-7 (4-7) 6-3 6-4 in that contest, with play on Saturday (AEST) beginning late in the second set, but did not have enough to pull out another win.
The final will feature the eighth head-to-head meeting between Svitolina and Cornet, with the Ukrainian holding a 4-3 edge.
At Tennis in the Land, No.2 seed Anett Kontaveit defeated No.7 seed Sara Sorribes Tormo 6-4 6-4 in one semi-final.
She will meet Irina-Camelia Begu in the final of the Cleveland tournament after the unseeded Romanian upset No.6 seed Magda Linette 7-6 (7-5) 6-2.
Kontaveit won her first WTA title at Guadalajara earlier this year, while Begu will be seeking her fifth Tour title and first since 2017.