The 20-year-old Czech backed up her fourth-round win over world number one Aryna Sabalenka with a determined victory over Keys, a former Australian Open champion who won the title in Cincinnati in 2019.
Bejlek got off to a slow start, trailing 0-3 on the way to dropping the first set, but rode a wave of momentum shifts into the final four, where she'll face fourth-seeded Coco Gauff.
The youngster broke first in the third set only for Keys to battle back and force the tiebreaker, in which Bejlek rallied from 4-2 down on the way to a victory capped by a stinging winner down the line on match point.

Bejlek, who won the title in Abu Dhabi in February as a wild card, continued a spectacular Cincinnati debut.
After a solid first set, the 24th-ranked Keys opened the second on sweltering Stadium Court with a break in the third game, but Bejlek, ranked 35th, broke back in the sixth and held for a 4-3 lead.
Keys answered with a love game, but Bejlek turned the tables two games later, taking the contest into the third set as Keys hit the net with a backhand on the Czech's second set point.
Gauff looks to reclaim title
Two-time Grand Slam winner Gauff was dialed in from the start against Kostyuk, breaking the 10th seed six times on the way to a 6-2, 6-2 victory in 70 minutes.
Marta Kostyuk, who had been 5-0 in the quarter-finals this year, managed one break in each set, but they were minor hiccups for Gauff, who lost just five points behind her first serve.
"Every match is getting better for me," Gauff said. "I'm being more decisive, my serve is improving, and it is getting more and more rare for me to be broken."

She was expecting a challenge from the rising Bejlek.
"Sara is a great player," Gauff said. "I watched her win the title in Abu Dhabi. She's so athletic and fast, but she makes you earn every point."
Gauff is looking to reclaim her 2023 Cincinnati Open title, when she took down Iga Swiatek.
