Russian 20-year-old fought back from a set down to defeat American Williams while Japan's Osaka proved too strong for top seed Halep
From Dubai to Indian Wells, Daria Kasatkina faces Naomi Osaka in her second straight final
Russian Daria Kasatkina continued her fine form on Friday to defeat Venus Williams and reach the WTA Indian Wells final.
Kasatkina, ranked No 19 in the world, beat the eighth-seeded American 4-6, 6-4, 7-5 and will face Japan's Naomi Osaka after she thrashed top seed Simona Halep 6-3, 6-0.
Kasatkina, 20, is in a rich vein of form having reached the final of the Dubai Duty Free Tennis Championships in her previous outing. On that occasion, she defeated world No 12 Johanna Konta and world No 3 Garbine Muguruza en route to the final before coming up short against defending champion Elina Svitolina.
Kasatkina has not let up at Indian Wells, with wins over US Open champion Sloane Stephens, world No 2 Caroline Wozniacki and world No 10 Angelique Kerber to set up her showdown with Williams.
After dropping the first set where neither player proved comfortable on serve, Kasatkina levelled the match courtesy of breaking Williams twice. After early exchanges of service breaks in the third set, Kasatkina edged ahead in the 11th game to lead 6-5 before serving out the match.
In the later semi-final, Osaka combined power with consistency to devastating effect, easily defeating world No 1 Halep in just one hour and five minutes.
After both players exchanged breaks of serve at the start of the match, it appeared with the scores at 3-3 that the contest would be a closely fought battle. However, that proved to be the last time Halep got on the scoreboard as Osaka reeled off nine straight games to reach the final.
The Indian Wells final meeting between Osaka and Kasatkina will be the first time the two players have faced each other.