The Ukrainian looked in trouble in the final set after wasting a 3-1 lead to trail Schiavone 4-3. But she won the final three games.
The second-seeded Svitolina, who saved eight of 11 break points against her serve, won her maiden title here last year and could repeat as a teenage champion on Sunday.
She will face 2012 champ Bojana Jovanovski, who also rallied in the final set of her semifinal.
The fifth-seeded Serb came back from 4-1 down to defeat Stefanie Voegele of Switzerland 6-2, 2-6, 6-4.
Svitolina and Jovanovski will meet for the first time.