World number eight Maria Sharapova fought back from a set and two breaks down in her second-round match at the French Open before eventually beating teenager Caroline Garcia 3-6 6-4 6-0.
The French 17-year-old dominated her seasoned opponent for a set and half and looked on course for a sensational victory when she led 4-1 in the second.
But the Russian suddenly found form, reeling off 11 games in a row to book her place in the third round, where she will face Chan Yung-jan of Chinese Taipei.
Sharapova, a former world number one and semi-finalist in 2007, was the heavy favourite against Garcia but only one of the opening four games went with serve as Garcia broke the Russian twice and continued to dominate the first set.
Garcia, born in Lyon, rushed into a 5-1 lead as her more experienced opponent struggled with her serve before taking the first set 6-3 after an impressive service game.
The French teenager made her grand slam debut at the Australian Open in January where she reached the second round but she was in fantastic form at the start of the second set as she had Sharapova, 24, chasing shadows on the Phillipe Chatrier court, breaking the 24-year-old in the opening game of the second set.
Garcia was getting the better of all of the longer rallies and held her serve in the second game and although Sharapova held in the next she was starting to look rattled.
A beautiful cross-court shot put Garcia in charge on the fifth game and gave her a triple break-point opportunity which proved to be enough for her to break yet again and take command of the second set.
But Sharapova then started to find some form, breaking twice in quick succession before holding serve to take a 5-4 lead.
Garcia then suffered a fall in her next service game and it proved to be costly as Sharapova broke yet again to level at one set apiece.
Garcia then seemed to lose some of her earlier confidence and was broken early in the second set and never recovered as Sharapova dominated the set to win 6-0.