Maria Sharapova clawed her way out of trouble to beat Marion Bartoli 3-6, 6-3, 6-4 on Wednesday and reach the semi-finals of the US Open for the first time in six years.
The Russian fought back after losing the rain-interrupted first set and opening service game in the second set to win a two-and-half hour match that began Tuesday afternoon and took 24 hours to complete.
"The rain break gave me a few hours to think about things; I came out flat yesterday and she was playing so tough," Sharapova said in a courtside interview.
"I had a good night's sleep and came back ready to start again."
World number 11 Bartoli, a Wimbledon finalist five years ago, threatened to pull off the upset when she led 4-0 overnight and wrapped up the first set.
Sharapova, who won the US Open in 2006 and completed her Grand Slam collection by winning the French Open in June, was initially struggling with her own serve in the blustery conditions at Flushing Meadows.
The world number three dropped serve at the start of the second set when she made three double faults but regained her composure and recovered to force a deciding third set.
The pair traded breaks early in third set before Sharapova, who hit an impressive 44 winners in the match, got the decisive break in the ninth game then served out victory.
She will now play world number one Victoria Azarenka of Belarus in Friday's semi-finals.
"It's so long since I've been back to this stage at the US Open," Sharapova said. "A little bit of luck always helps."
Earlier, Sara Errani beat her good friend and doubles partner Roberta Vinci 6-2, 6-4 to reach the semi-finals for the first time.
The two Italians, who teamed up to make it to the doubles semi-finals at Flushing Meadows, briefly put their friendship aside as they traded blows for a place in the last four.
Errani was the favourite after making the French Open final this year and proved too strong for her countrywoman, landing an impressive 85 percent of her first serves to wrap up victory in 72 minutes.
Errani had never made it past the third round of the US Open before this year.
She will play either Serena Williams or Ana Ivanovic in Friday's semi-finals.