The 17-time Grand Slam champion saw off the world number four 7-5, 6-3, 1-6, 4-6, 6-3 in three hours and five minutes and will face either Rafael Nadal or Grigor Dimitrov in Sunday's final.
It will be 35-year-old Federer's sixth Australian final and 28th Grand Slam decider in total, and caps a marvellous comeback after the second half of last season was ruined by a knee injury.
The four-time Australian Open champion becomes the oldest man to reach a Grand Slam final since Australia's Ken Rosewall (39 years 310 days) at the 1974 US Open.
In an enthralling contest, Federer won the opening two sets before Wawrinka clawed back to take the semifinal into a fifth, only for Federer to prevail with a service break in the sixth game.
“Yes, it is real now. I can talk about playing in finals for the first time,” Federer said on court.
“I have been dodging that bullet for the last few days now talking about the next round and the next round but this is the last one.
“So I will leave it all out here in Australia and (even) if I cannot walk for another five months, I will give it all I have.”
Wawrinka, who beat Nadal in the 2014 Australian Open final, was bidding to reach his fourth Grand Slam final and his second in Melbourne.
The two Swiss jockeyed in the opening games with Federer having three break points in Wawrinka's second service game and Wawrinka getting two break points, but all were saved.
Wawrinka had another break point saved in the 11th game but he paid for a netted forehand in his next service game to drop the opening set in 50 minutes.
Wawrinka netted a backhand on break point in the sixth game of the second set and angrily smashed his smash in reaction, receiving a code violation warning from the chair umpire.
The match turned quickly for Wawrinka as Federer raced to a two sets lead after holding three set points.
Wawrinka left the court for a medical timeout and returned to the court with tape around his right knee.
But Wawrinka hit back with two breaks to take the third set in just 26 minutes as Federer became loose, giving his Swiss friend the chance to play his way back into the contest.
Wawrinka broke again in the opening game of the fourth set with a beautiful backhand return winner, but Federer broke straight back.
Wawrinka earned three break points in the ninth game with some splendid groundstrokes and on his third break point he rifled a forehand cross-court winner to break, and then served out for a fifth set.
But Wawrinka cracked with a poor service game and a double-fault on double break point gave Federer a crucial 4-2 advantage.
Federer held his two remaining service games to win on the first of his three match points.