Despite cruising to take the first set 6-1, Sharapova, found herself in choppy waters during the second set as she let her opponent bounce back and take the set 6-4.
However, Sharapova hit back with a vengeance in the third set as she dominated Rybarikova to win the match 6-1, 4-6, 6-2 in two hours and 13 minutes.
The Russian will now face third seed Caroline Garcia in the semi-finals after she won her match against Croatian Mirjana Lucic-Baroni, who retired with an injury in the second set.
Sharapova will be feeling confident heading into the semi-finals since she has defeated Garcia in all three of their previous meetings.
Swiss fifth seed Timea Bacsinszky will face Bulgarian Sesil Karatantcheva in the second women's semi-final.
Bacsinszky only needed one hour and 10 minutes to breeze past Sweden's Johanna Larsson 6-3, 6-3.
However, it was a very different story for Karatantcheva, as she took two hours and 24 minutes to take down Puerto Rico's Monica Puig 2-6, 7-6 (9-7), 6-4 in a hard-fought battle.