Svitolina took the first set comfortably and served for the match in the second set only to watch Alexandrova rally to win a second set tiebreaker and break early in the third set.
The Ukrainian then staged a comeback of her own and took the final three points of the final-set tiebreaker to pick up her second win in as many career meetings against Alexandrova.
Svitolina squeezes past Alexandrova in three-set marathon
There were three straight breaks to begin the match, the last of which gave Svitolina a 2-1 lead after a backhand winner down the line. She held for 3-1 and eventually extended her advantage with a second break.
Although Alexandrova would stop the run of games with a hold of her own, Svitolina held triple set point and a backhand error by the Russian clinched the opening set for the second seed in exactly half an hour.
The second set featured three breaks of serve by each player with Alexandrova the one rallying from behind each time. The last of those three came when Svitolina served for the match at 5-4, dumping a forehand into the net on break point.
The set would be decided in a tiebreaker and Alexandrova took the initiative at 5-5, putting away an overhead to bring up set point and squaring the match at one set all after an angled backhand winner.
The 13th seed kept up her momentum, breaking in the third game of the final set with a wicked forehand. An ace on game point put Alexandrova closer to victory as she led 4-2.
More vicious forehands from the Russian put her a game from the upset, but tasked with serving out the match, her forehand betrayed her and an error from that side handed the break back to Svitolina.
Much like the second set, the third set would head to a tiebreaker where again Alexandrova used her forehand to twice bring up match point, but she failed to convert on both occasions.
After more excellent work by both players, including Alexandrova saving match point, Svitolina would ultimately prevail as, at 9-8, the Russian sent a forehand long on match point.