Badosa, playing on her 24th birthday, was already assured of a last-four meeting with fellow Spaniard Garbine Muguruza, while two defeats had seen Swiatek eliminated.
A low-stakes encounter allowed both women to play with a little freedom, although Swiatek was a deserving 7-5 6-4 winner.
The pair traded early breaks in the opener, with Badosa immediately ceding her initial lead and finding herself on the back foot for the remainder of the set.
The semi-finalist survived a set point on her serve at 5-4 but had no answer when Swiatek went on the offensive again two games later, stepping forward with a stunning backhand to create her opportunity before retreating to the back of the court to put her forehand to good use and leave Badosa rooted once more.
Badosa again broke first in the second and this time looked to have control when she fought off seven break points to this time consolidate her lead in a gripping 12-minute game.
But Swiatek would not relent, breaking at the first attempt next time with powerful hitting from the centre of the court. Then a wayward Badosa backhand teed up match point for the 20-year-old, whose smart return completed the job.