Williams, seeded ninth in the event, needed just 79 minutes to defeat Sharapova 6-1, 6-3. Williams has not lost in 11 matches on clay this year.
Sharapova has defeated Williams only twice in 10 tries and has not done so in eight years.
Williams will meet Lucie Hradecka in Saturday's semifinals after Hradecka won over U.S. Open champ Samantha Stosur 7-6 (10-8), 7-6 (8-6).
World No. 1 Victoria Azarenka advanced with a 3-6, 6-3, 6-3 decision over Li Na. Agnieszka Radwanska, the third-ranked player in the world, eliminated Varvara Lepchenko 6-4, 6-4 to set up a semifinal meeting with Azarenka.