The unseeded Kasatkina beat the world No. 3 from Spain for the first time in a 2 1/2-hour thriller.
Muguruza dominated the opening set, though Kasatkina squandered four chances to break in the first game. Muguruza converted her only break point in the first set for 4-2.
In the second, Muguruza went up twice with breaks, only to be immediately broken back by the relentless Russian. In the tiebreak, Kasatkina finally clinched on her fourth set point.
Kasatkina also saved two match points in her opening win over Johanna Konta. She has spent a tournament-high 9 hours, 5 minutes on court so far.
“When you’re winning from match points (down), you don’t know why,” she said.
“Before the match, I was really, really tired. When you’re on the court, adrenaline is coming, and you just forget about it. You start to run, blood starts to run into your body, that’s it. You’re just focused on every ball.”
Said Muguruza: “She likes to play when she’s under pressure. Her best tennis comes when she’s about to lose.”
With 15 singles wins this year, Kerber is enjoying a good start to the season. But she still can’t solve world No. 4 Svitolina, the Ukrainian who improved her record against Kerber to 5-0.
Kerber went up a break early in the second set, but she never looked like a threat to overtake Svitolina.
“I’m happy that it was in two sets because before we had such tough battles. Physically it was very tough,” Svitolina said. “I’m very happy that I saved little bit more energy for the final.
Svitolina has won both previous matchups with Kasatkina. She will be going for her 11th career singles title and second of the year, while Kasatkina will be aiming for her career second.