The Spaniard won 6-7 (5/7), 6-2, 7-6 (7/5), 6-4 to prolong the agony for his greatest rival, who has now lost eight times to the Spaniard in 10 grand slam meetings and has not beaten him in the majors since Wimbledon 2007.
The Swiss 16-time grand slam winner was left a weeping wreck when Nadal remorselessly ground him down in 2009’s nail-biting five-set final in Melbourne but failed in his bid for revenge under the lights on Rod Laver Arena.
“For me it’s a dream to be back in the final,” said a smiling Nadal.
“It’s a real honour to play against Roger, it was a fantastic match. It’s fantastic to have one player in front of you who doesn’t make mistakes, having a totally complete game.”
Nadal, who has won 10 grand slams, now goes on to meet either defending champion Novak Djokovic or Britain’s Andy Murray in Sunday’s final.
Federer produced flawless tennis at the start of the match but his game unravelled when put under pressure by Nadal and he finished with 63 unforced errors.
Unleashing his full arsenal, four-time Australian Open champion Federer held serve to love and broke the Spaniard at his first opportunity with a devastating cross-court backhand with Nadal struggling to gain a foothold.
Nadal broke back but third seed Federer raised his game again after his mid-set wobble and he took the tie-break when Nadal went long.
The players swapped service breaks at the start of the second set but the turning point came when Nadal held off a Federer break point in the fifth game and then broke the Swiss in the very next game to move ahead 4-2.
The match was suspended for 10 minutes for Australia Day fireworks with Nadal leading 5-2 and when play resumed Federer badly lost his focus, losing 11 consecutive points on top of the straight three points he lost before the break.
Nadal, 25, levelled the match at one set apiece, took the first game of set three to love and held three break points after two consecutive Federer double faults, only for the misfiring Swiss to claw himself out of the hole.
Federer, 30, battled hard to break Nadal in game seven of the third set but the Spaniard broke back immediately to level things up and Nadal went on to take the tie-break on his sixth set point.
A tense fourth set went with serve with Nadal looking mentally the stronger, continuing to chase down balls from seemingly impossible situations.
He saved a break point from Federer in the eighth game and broke the Swiss in the following game.
But the Spaniard still had to fight hard to serve out for victory, saving two Federer break points, including an astonishing retrieval onto the baseline which the Swiss then wafted wide.
Federer, seeking his first grand slam win in two years, had not dropped a set until Thursday’s semi-final but Nadal, who now leads their overall series 18-9, once again proved he has the edge over Federer on the biggest stage.
The match was the 10th grand slam encounter between Nadal and Federer, putting them equal with Ivan Lendl and John McEnroe for most matches played at majors.