Russian Daria Kasatkina beat her third top-10 player in a row Friday to reach the WTA Indian Wells final, defeating world No 8 Venus Williams 4-6, 6-4, 7-5.

The 20-year-old Kasatkina rallied to win the biggest victory of her career and defeat seven-time Grand Slam winner Williams, extending a year-long assault on top players, Grand Slam winners and former world number ones.

Kasatkina, seeded 20th, next faces either world No 1 Simona Halep or Japan’s Naomi Osaka in Sunday’s final.