The hard-hitting Pliskova started red hot in what loomed as a one-sided contest before Stephens fought back with relentless hustle as the Czech went off the boil.
"I think I have nothing to prove anymore to anyone", Svitolina said afterwards.
"I think physically I was a little bit stronger. pushed myself a little bit more maybe mentally", Svitolina told reporters. Tried something a little different.
"I haven't been home since the US Open", she said. I think that made the big difference.
The 26-year-old recovered in a tense tiebreak to force a decider and the twists continued in a pulsating third set.
The third set began with three breaks, two of which wrote itself into an asset Svitolina. Buoyed by the avoidance of total humiliation, Stephens appeared reborn and reeled off five of the next seven games to tie up the match as Pliskova struggled to maintain the pace.
Heading to her biggest career final, Svitolina will seek her 13th career title and fourth this season, following the Brisbane International, Dubai Tennis Championships and Italian Open.
In the early match, Ukraine's Svitolina put on a defensive masterclass to stifle the power of Kiki Bertens with a 7-5 6-7 (5) 6-4 victory over the Dutchwoman in a gripping encounter that could have gone either way. The eighth-seeded Bertens eventually qualified for the eight-player field when No. 1 Simona Halep withdrew from the tournament with a back injury.
The Bertens forehand once again did the damage as her return found the corner, and Svitolina could not retrieve it in time. "I'll be up against a tough opponent and I'll have to play my absolute best".
Svitolina arrived in Singapore out of form yet determined to "silence the haters", who she said believed that she did not deserve to be in the tournament, and the Ukrainian has played brilliantly to win all three pool matches and her semi-final. Do not let the fact that she is one of the most well-liked players on the tour fool you.
Bertens played too risky a brand of tennis, posting 41 winners to 12 for Svitolina, but also making 63 to 36 unforced errors.