Serena Williams overcame an impressive performance from Kristina Mladenovic and a rain delay to keep her French Open title defence on track.
Williams, a three-time winner at Roland Garros, had dropped just five games across her first two matches, but faced a much sterner test on Saturday against an opponent who exuded confidence early on.
World number 30 Mladenovic had opportunities to forge ahead during the first set, but was ultimately beaten 6-4 7-6 (12-10) as Williams booked a fourth-round tie with Elina Svitolina.
After recovering from 0-30 down in her opening service game, home favourite Mladenovic applied pressure through an aggressive approach, forcing the top seed to save a break point in the third game and three more at 4-4.
However, Williams came good when it mattered most as her opponent served to stay in the opener, Mladenovic saving two set points but then erring with a forehand on the third to fall behind.
As heavy clouds gathered over Roland Garros, Williams was frustrated in her bid to kick on, the gutsy Mladenovic staving off nine break points in set two and delighting her vocal supporters.
Although the reigning champion was increasingly authoritative on serve, her rival dug in to force a tie-break, which was duly delayed as the heavens opened.
After more than two hours off the court, Williams fought back from 5-2 down to complete the victory, but she needed five match points – three of which came on her own serve – and a smash to deny Mladenovic on set point, before punishing her wide shot at the death.
Williams  bt Mladenovic  6-4 7-6 (12-10)
Williams - 27/31
Mladenovic - 27/35
Williams - 3
Mladenovic - 3
BREAK POINTS WON
Williams - 1/12
Mladenovic - 0/4
FIRST SERVE PERCENTAGE
Williams - 60
Mladenovic - 58
PERCENTAGE POINTS WON ON FIRST/SECOND SERVE
Williams - 72/58
Mladenovic - 66/53
Williams - 97
Mladenovic - 88