Serena Williams saw off the determined challenge of 17-year-old Nicole Vaidisova in straight sets to move into the final of the Australian Open.
Williams celebrates her semi-final win
The American, ranked a lowly 81st in the world going into the tournament, won through 7-6 (7-5) 6-4 in a tough battle on the Rod Laver Arena.
The 25-year-old two-time champion needed six match points to finally end the Czech's stubborn resistance.
Saturday's final will be Williams' first Grand Slam final in two years.
She said: ""I'm so excited. I have nothing to lose, I'm having a lot of fun. I'm back in the top 20 and that means so much.
606 DEBATE: Your views on Williams' victory
"She played some incredible points on match points, she reminded me a bit of myself. I just tried to stay focused and calm. It was great."
Vaidisova accelerated into a two-game lead at the start of the first set as Williams struggled to find her range.
But the seven-time Grand Slam winner broke back in the sixth game as unforced errors began to creep into Vaidisova's game.
Williams built a 5-1 lead in the subsequent tie-break, and held on to take the set despite being pegged back by her teenage opponent.
When she roared into a 5-1 lead in the second set, the result seemed a foregone conclusion - only for Vaidisova to rally to 5-4 after saving three match points in the ninth game.
But Williams' experience and superior consistency then saw her home, a heavily-sliced ace and crunching volley at the net sealing her win.