Simona Halep was made to work hard for a 6-4 5-7 6-3 victory over Magda Linette in round two of the French Open on Thursday.
Reigning champion Halep endured a second-set dip as she was taken the distance by Ajla Tomljanovic in her opener and she suffered the same fate on Court Suzanne-Lenglen.
Linette saved three match points as she came from 5-3 down in the second set, reeling off four games in succession to force a decider.
The Pole was unable to build on that and match her best performance at a major by reaching the third round, with Halep eventually beating the approaching darkness and rain to get over the line.
Halep won the opening game on Linette's serve with an incredible forehand down the line from a deep, wide position and she consolidated when the Pole found the net.
Linette staved off three break points before getting back on serve, but Halep turned up the tempo again and moved into a 5-2 lead after forcing deuce with a fine inside-out forehand.
The Romanian required two attempts to serve out the set as the pair continued to trade blows and she moved a break up in the second when her opponent went long.
Halep held to love to move one game away from victory and she earned her first match point after stepping in from the baseline and firing a forehand past Linette.
Linette managed to hold her off and did so twice more when the third seed attempted to serve out the match, before breaking back and forcing the decider with a pair of exceptional winners.
A wayward forehand gifted Halep the initiative in the third set, but she handed back a second break when a forehand clipped the net cord and fell wide.
An unperturbed Halep provided an immediate riposte before, having held from deuce after leading 40-0, she finally closed things out when Linette was on serve.
Simona Halep  bt Magda Linette 6-4 5-7 6-3
Halep - 27/44
Linette - 31/42
Halep - 4/4
Linette - 2/1
BREAK POINTS WON
Halep - 8/17
Linette - 6/10
FIRST SERVE PERCENTAGE
Halep - 73
Linette - 54
PERCENTAGE OF POINTS WON ON FIRST/SECOND SERVE
Halep - 61/34
Linette - 48/48
Halep - 111
Linette - 98