Nadal won 7-6 (4), 6-3, 6-3 to reach his third career Australian final. He won the event in 2009 and lost to Novak Djokovic in 2012.
Nadal improved to 9-2 against Federer in majors, including 3-0 at the Australian Open. His overall record is 23-10 against Federer.
Nadal will face Stanislas Wawrinka in Sunday's final.