Rafael Nadal produced some scintillating tennis to come from one set down to beat Roger Federer and reach his second Australian Open final.
The world number two, who won the 2009 title, lost an opening set tie-break. However, he hit back to take the next three and win 6-7, 6-2, 7-6, 6-4.
Third seed Federer saved one match point on Nadal's serve but the Spaniard held his nerve to take it on the next.
Nadal will play either Andy Murray or Novak Djokovic in Sunday's final.
In the women’s draw, Maria Sharapova avenged her Wimbledon defeat by beating Petra Kvitova to reach the final.
Sharapova defeated the 21-year-old 6-2, 3-6, 6-4 to win the semi-final match up.
The fourth seed will now face Victoria Azarenka in Saturday's final. The winner of the match will also claim the world's number one ranking from Caroline Wozniacki.
Azarenka survived a second-set slump to oust defending champion Kim Clijsters 6-4, 1-6, 6-3.