Swiatek sails past Keys to reach second straight Madrid Open final
Dominant on clay, Swiatek barely put a foot wrong, making just eight unforced errors in the match to leave the 29-year-old American with virtually no chance.
"I'm really happy that I had such a solid game today," Swiatek said on court after reaching her 11th WTA 1000 final.
"Madison is an amazing player with a really fast game and a big serve, so I wanted to focus on myself and I'm happy I was focused."
The top seed, triumphant at Doha and Indian Wells, started in unforgiving form.
Swiatek broke to love in the second game and dropped just three of the first 17 points.
Keys, seeded 18th, battled back to hold from 0-30 down for a 3-1 deficit, fighting to stay in the set.
However last year's Madrid runner-up broke again for a 5-1 lead and served it out to wrap up the first set in 31 minutes.
The clinical Swiatek broke for a 2-1 lead in the second set with a superb passing shot and never relinquished her advantage, even though Keys was more competitive.
The 22-year-old four-time Grand Slam winner broke once more to seal her victory when world number 20 Keys went long.
Later reigning champion and second seed Aryna Sabalenka faces Elena Rybakina in the second semi-final, ahead of Saturday's showdown with Swiatek.
In the men's quarter-finals, Daniil Medvedev plays Jiri Lehecka, aiming to join Andrey Rublev, Taylor Fritz and Felix Auger-Aliassime in the final four.