Serena Williams saved three match points before beating Maria Sharapova in the Australian Open semi-finals.
Sharapova twice served for the match and led in all three sets but could not shake off the former world number one.
From 5-4 in the second the Russian lost three straight games, and at 5-4 in the third she let three match points slip.
Williams finally took advantage in game 14 of the final set and came through 2-6 7-5 8-6, to set up a final against top seed Lindsay Davenport.
In a match of wildly swinging momentum, Williams made a desperately poor start as her suspect forehand failed her.
Sharapova cruised through the first set and looked in command of the second, despite an improvement from her opponent.
But the heat that so affected the Russian in her quarter-final against Svetlana Kuznetsova seemd to take its toll again as she lost three straight games from 5-4.
After breaks of serve were exchanged at the start of the decider, Sharapova again inched ahead with a break in game seven.
However, Williams came up with some fierce returns when she faced match point and finally broke Sharapova's resistance after two hours 39 minutes.
"It definitely lived up to everyone's expectations and it was a lot of fun," said Williams. "I am really happy to get through.
"I am so excited to be in another final, it has been such a tough 12 months for me. I want to thank everyone for supporting me."
Sharapova tried to stay positive despite the nature of the defeat.
"I gave it all I had," she said. "I played from my heart but I didn't take my chances and that's what this game is about.
"If you don't take your chances you lose. I think she got better as the match went on. She started to pick up her level.
"Of course I'm sad and it's a tough one to lose but I have a long way ahead of me."