World No.1 Swiatek, who raised her game at the key moments, broke the Czech 10th seed five times and saved four of six break points to seal victory in 91 minutes.
"It wasn't easy to adjust to her spin because she's a lefty," French Open champion Swiatek said during her on-court interview.
"She really used that and her experience but I wanted to fight for every ball, and in the end this is what worked."
Vondrousova dropped only three points on serve by the time she built a 5-3 lead and served for the set twice. But she was denied both times by Swiatek before the Pole ran away with the tiebreaker.
Swiatek found a higher gear in the second where she feasted on Vondrousova's serve and broke three times, including in the final game where she sealed the win with a forehand down the line that the Czech was unable to chase down.
Swiatek, who is using this event as a tune-up ahead of her title defence at the US Open, credited the adjustments she made in between sets for her ability to make quick work of Vondrousova in the second frame.
Swiatek, who has occupied top spot in the world rankings since April 2022, will next face either American seventh seed Coco Gauff or Italian qualifier Jasmine Paolini.
Unseeded Czech Karolina Muchova needed just 11 minutes on court to reach the semis as compatriot Marie Bouzkova retired from their match with right leg strain while trailing 3-0.
Muchova now awaits the winner of the quarter-final clash between Tunisian fifth seed Ons Jabeur and Belarusian second seed Aryna Sabalenka.