Ahead of her victory, the Belarusian beat Italian Elisabetta Cocciaretto (6-3, 6-4), Ukrainian Elina Svitolina (7-5, 6-2) and Russian Liudmila Samsonova, the No 10 seed (6-3, 6-2).
Swiatek, ranked No 1, ousted French qualifier Varvara Gracheva (6-0, 6-7 (8), 6-2), Ukrainian Marta Kostyuk, the No 15 seed (6-2, 6-2) and Russian Mirra Andreeva (4-6, 6-3, 7-5) in the previous rounds.
Cincinnati WTA 1000, other semi-final result:
- Jessica Pegula vs. Paula Badosa