Wawrinka forced a decider from two sets down on Rod Laver Arena but Federer held his nerve to win 7-5 6-3 1-6 4-6 6-3 and advance to his 28th major final.
It means Federer, at 35, is the oldest man to reach a grand slam final since the 39-year-old Ken Rosewall made it to the last hurdle at the US Open in 1974.
He will now face either his old foe Rafael Nadal or the resurgent Grigor Dimitrov, who play in the other semi-final on Friday.
“I couldn’t be happier right now,” Federer said on court afterwards.
“Everything happened so quickly, I had to check the score after the match was over, I was like, ‘is it all real?’
“It feels amazing. I never felt in my wildest dreams I would be coming this far in Australia. It’s beautiful.”