Williams, the No. 9 seed, battled in the first set but then cruised to a 7-6 (7-5), 6-0 win over her Czech opponent to set up a finals match against Azarenka of Belarus, the current world No. 1.
Williams couldn't convert a pair of set points in the first set; however, she won the tiebreaker and then had little difficulty in the second set. The win was the 12th of the year on clay for Williams.
Williams will face a formidable opponent Sunday. Azarenka, the top seed in the French Open tuneup, ousted Poland's Agnieszka Radwanska Saturday 6-2, 6-4 and will be seeking her sixth championship of the year.
Azarenka won her first Grand Slam at this year's Australian Open and was runner-up at Madrid last year. Her only defeats this year came at the hands of top-tier opponents Maria Sharapova and Marion Bartoli.