Badosa became the first player since Karolina Pliskova in 2016 and 2017 to reach back-to-back semifinals at Indian Wells.
In a thrilling Australian Open clash, the Spaniard overcome a second-set comeback by Marta Kostyuk before beating the Ukrainian teenager 6-2, 5-7, 6-4.
Kasatkina will next take on No.5 seed Paula Badosa, who overcame Belinda Bencic 7-6, 3-6, 6-3 in 2 hours and 35 minutes.
Rybakina is fresh from reaching her eighth career final in Adelaide last week before falling to Ashleigh Barty in the title match.
This comes after the former World No.1 lost to Facundo Bagnis in his first match of the season last week in Melbourne.
Petra Kvitova had survived two match points in the final set to overcome Arantxa Rus, 3-6, 7-6, 7-5.
US tennis player Coco Gauff had tested positive for the coronavirus, forcing her to pull out of the Tokyo Olympics.
No.4 seed Maria Sakkari clinched her spot in the semifinals of the Akron WTA Finals Guadalajara with a three-set win over Sabalenka.
Top-seeded Sabalenka fought back impressively from a set deficit to eliminate Iga Swiatek at the Akron WTA Finals Guadalajara.
No.7 seed Paula Badosa reeled off 10 successive games to defeat World No.2 Aryna Sabalenka on Day 2 of the Akron WTA Finals Guadalajara.