Both were masters at exploring every angle of the court and after almost an hour, it was Charleston semi-finalist Kasatkina who snuck the one-set advantage.
Brimming with confidence at 2-3, 30-all in the second set, she pulled off a crosscourt tweener passing shot, lifting the Court Suzanne-Lenglen crowd on her way to a 3-all hold.
The ninth seed barely blinked again, sealing a showdown with American Peyton Stearns after an hour and 44 minutes.
Key stats
The win improved Kasatkina’s record against the Czech to 3-2, her first since Rome four years ago.
While her 23 winners (20 off the forehand) were three fewer, Kasatkina kept her error count lower. Her 26 unforced errors were nine fewer than the Czech’s.
Vondrousova could only convert 2/12 break point opportunities throughout the match.