Serena Williams remains on course to win a third successive WTA Finals title after beating Caroline Wozniacki in a marathon semi-final in Singapore on Saturday.
The American world number one fought back from a set down and a break in the decisive third set to win 2-6 6-3 7-6 (8/6) in two hours and 13 minutes.
Williams, who beat Maria Sharapova to win the 2012 title and then overcame Li Na to clinch last year's crown, will meet either Simona Halep in Sunday's final at the Singapore Indoor Stadium.
Wozniacki made a blistering start to the last-four encounter, holding serve twice after breaking Williams' opening service game to race into a 3-0 lead.
Williams regained her composure, but, although she held her next two service games, Wozniacki did too.
Williams' frustration boiled over in the seventh game when she smashed her racquet after missing a break-point chance and her Danish opponent poured salt in her good friend's wounds by then breaking to win the first set 6-2.
Wozniacki made a decent start to the second set and won her first two service games, but Williams drew on all her experience to break twice to win the set 6-3 and force a decider.
All the American's hard work had seemingly gone to waste when Wozniacki broke to take a 5-4 lead and serve for the match, but the Dane could not close it out and the decider went to tie-break when both players held the subsequent service games.
Williams sent down her 12th ace to set up match point and she duly sealed the win when Wozniacki had no answer for one of her trademark thunderous forehand ground strokes.
Speaking in a post-match courtside interview shown on BT Sport 1, Williams paid tribute to the crowd for helping her to seal a comeback victory.
"I just kept thinking, 'Well, if I lose I get to go home, but if I win I get to stay in front of this amazing crowd'," she said.
"I heard so many fans out here today and after I lost the first set you guys were so behind me and it's the only reason I was able to pull through, so thank you so much Singapore."
Williams, who clinched the year-end world number one ranking without playing on Friday after Maria Sharapova was eliminated from the tournament, was quick to pay tribute to her opponent.
She added: "I have to say Caroline played a great match. It was really difficult today. I felt really bad because she's so amazing and she's so nice and she's the only one who hadn't lost in this tournament, she really deserved to win.
"Just congrats to her and I love you and thank you for playing so well."
Halep of Romania beat Agnieszka Radwanska 6-2 6-2 in the other semi-final.Reuse content