The Swiss, chasing a 17th grand slam crown and sixth in Melbourne, was never seriously threatened in their first meeting in a major since losing to del Potro in the 2009 US Open final.
In scorching heat at Rod Laver Arena, third seed Federer survived four break points before closing out the second set in his only wobble of an otherwise dominant display.
Normal service resumed, Federer broke the 11th-seeded del Potro twice to motor through the third set and sealed the match with an imperious backhand winner.
Federer will play the winner of great rival Rafa Nadal and Czech seventh seed Tomas Berdych in the last four.