Keys and Kvitova to meet in Cincinnati semis after strong showings
After dispatching world number one Iga Swiatek in the third round, the 27-year-old American Keys carried that momentum into the quarter-finals with a dominating win over 25th-ranked Rybakina.
Both Keys and Rybakina had reached the quarter-finals without dropping a set and it would the American keeping the unblemished record.
"I knew she is a remarkable player and she can turn it around at any moment so I knew I had to try to stay out in front because at any moment she can go on a roll," said Keys, finalist at the 2017 U.S. Open.
"I think that is kind of the key against her. If you back off at all then she gets to dictate and run you around."
One of the WTA Tour's big-hitters, ranking number two on the season ace list, Rybakina struggled with her serve the entire match, hitting just one ace while piling up four double faults.
In the first contest on a muggy Centre Court, Keys got out to a flying start, breaking Rybakina twice on the way to a 4-0 lead before the Kazakhstan player was finally able to hold serve.
After surrendering the opener Rybakina rallied in the second with an early break to jump out in front 2-0.
But Keys dug in, sweeping the next five games to retake control 5-2 and after a late wobble closed out the contest on her fourth match point when Rybakina hit her return into the net.
Later, Kvitova reached the last four in Cincinnati for the third time in her career with a 6-2 6-3 victory over Australian qualifier Tomljanovic.
The two-time Wimbledon knocked out Tomljanovic in just over an hour as she fired in 12 aces.
The other semi-final will see the only remaining seed number six Aryna Sabalenka take on French qualifier Caroline Garcia, who continued her upset run through the draw with 6-1 7-5 win over seventh seeded American Jessica Pegula.
Belarusian Sabalenka, who finished last season as the world's number two ranked player, advanced with a 6-4 7-6(1) decision over China's Zhang Shuai.