World No.1 Swiatek landed a 21st consecutive victory as she edged out US Open winner Raducanu 6-4 6-4 in an hour and 45 minutes on the German clay.
There was plenty to admire from both players, but in the end it was another straight-sets success for Swiatek, who dropped only two games in her previous round against German Eva Lys.
It makes the 20-year-old Pole the first woman to win 28 consecutive sets on tour since Serena Williams, who did so from the 2012 US Open to the 2013 Australian Open.
Swiatek broke early in the first set to take charge, and with 19-year-old Raducanu battling a back problem the rankings leader soon got ahead in the second too.
This was Raducanu's first match against a player ranked inside the WTA top 10, a peculiar statistic given she is already a grand slam champion.
Swiatek, like her opponent, knows how it feels to win a grand slam as a teenage surprise package, having triumphed as a 19-year-old at the 2020 French Open when ranked only No.54 in the world.
At 4-3 in the second set of this contest, Swiatek saved two break points with clinical forehand winners out of the reach of Raducanu, shouting out in satisfaction moments later as she held serve to move a game away.
Raducanu had two more break chances in Swiatek's next service game but again could not convert as her opponent sealed victory.
Swiatek said: "I'm pretty happy that today's match was longer. Not for now, but for the future it's going to give me a lot of experience.
"Right now I want to play really aggressively, and I think this game style is going to fit the surface, and it fit the hardcourts as well."
She will face unseeded Liudmila Samsonova next after the Russian, playing as a neutral, beat Laura Siegemund 7-5 6-3.
The other semi-final in Stuttgart will see No.2 seed Paula Badosa take on No.3 seed Aryna Sabalenka.
Badosa was a 7-6 (11-9) 1-6 6-3 winner against Ons Jabeur, while Sabalenka fended off Anett Kontaveit 6-4 3-6 6-1.
At the Istanbul Cup there were quarter-final wins for Veronika Kudermetova and Anastasia Potapova, along with Sorana Cirstea and Yulia Putintseva.
Those results set up a semi-final on Sunday (AEST) between No.2 seed Cirstea and No.3 seed Kudermetova, with Putintseva and Potapova also facing off.