Maria Sharapova battled her way into the French Open quarter-finals with a 6-4 6-7 (5/7) 6-2 victory over Klara Zakopalova in a match that featured an astonishing 21 breaks of serve.
The Russian had breezed through her first three matches, dropping only five games, but the conditions today - cold, windy and damp - were a real challenge.
Sharapova's serve has been her main weakness since her shoulder problems of 2008 but, initially at least, it seemed to be holding up pretty well in the circumstances.
The second seed always had the edge in the opening set but Zakopalova fought hard, pulling back from 5-2 to 5-4 before Sharapova finally clinched it.
The pair had met three times before, with the Czech player's only win coming back in 2003 when Sharapova was 15, but she did compete well when they faced each other in Madrid last month.
Sharapova again took an early lead in the second set but once more Zakopalova, looking to reach her first grand slam quarter-final, fought back.
Both players were finding it increasingly difficult to hold their serve and, although Sharapova served for the match at 5-4 and 6-5, it seemed inevitable there would be more breaks.
And so it proved, sending the set into a tie-break, and this time it was Zakopalova who had the edge, taking it on her third set point when Sharapova blazed a return wide.
The Russian seemed to be having problems with her right wrist but that did not stop her winning the first three games of the decider.
It continued to be a struggle, though, with Sharapova, who next faces either Arantxa Rus or Kaia Kanepi, eventually prevailing after three hours and 11 minutes, perhaps appropriately on a double fault.
The second seed is looking for her first title at Roland Garros to complete her set of grand slams, while reaching the final would see her overtake Victoria Azarenka as world number one.
Follow @ITVFrenchOpen on Twitter