Serena Williams moved a step closer to winning a record-equalling 22nd grand slam title as she mounted a fightback to beat surprise package Yulia Putintseva and reach the semi-finals of the French Open.
The world number one is strong favourite to draw level with Steffi Graf's Open-era tally of major titles at Roland Garros this week, but the defending champion was in danger of making a shock exit before recovering to win 5-7 6-4 6-1.
Putintseva, playing in her first grand slam quarter-final, was a break up in the second set after winning the first before Williams found her rhythm, the Kazakh outsider growing increasingly frustrated as she failed to claim a huge scalp on Court Philippe Chatrier.
Top seed Williams, eyeing a fourth title on the famous clay in Paris, will face Kiki Bertens at the semi-final stage on Friday.
A sprightly Putintseva caught Williams cold following an early suspension for rain, punching a forehand down the line to go a break up, only to be pegged back at 3-3 when she tamely netted a backhand slice into the net.
The diminutive world number 60 took that setback in her stride, taking a 6-5 lead when a flat Williams netted a backhand after an exquisite backhand pass had set up an opportunity for a second break.
A fired up Putintseva let out a bellow of delight when she served out the set to love and broke in the first game of the second set when an out-of-sorts Williams flash a forehand wide.
Williams responded immediately to level at 1-1 with an overhead smash and reeled off the next three games in a flash, but gifted Putintseva a way back in with a double fault to make it 4-4.
The unseeded Putintseva failed to take advantage of that error, coughing up a double fault of her own on set point and Williams dominated the decider to march into the last four.
Williams (1) bt Putintseva 5-7 6-4 6-1
Williams - 36/43
Putintseva - 18/16
Williams - 4
Putintseva - 0
BREAK POINTS WON
Williams - 6/14
Putintseva - 4/8
FIRST SERVE PERCENTAGE
Williams - 63
Putintseva - 63
PERCENTAGE POINTS WON ON FIRST/SECOND SERVE
Williams - 68/47
Putintseva - 63/42
Williams - 95
Putintseva - 84