The second seed cruised to a 7-6 (7/1), 6-3, 6-4 win in 2hr 14min on Rod Laver Arena and will face unseeded South Korean Chung Hyeon on Friday for a place in the final.
The 19-time Grand Slam champion, who hasn't lost in five matches against Berdych in Melbourne, will play in his 43rd Grand Slam semi-final, a record for the post-1968 Open Era.
The Swiss legend has yet to face Chung, who has got past six-time champion Novak Djokovic and world No.4 Alexander Zverev to get to the last four.
Federer's latest victory was his 92nd in 105 matches in Melbourne to make the Australian Open his most successful Grand Slam in terms of matches won along with Wimbledon.
"I'm happy I got out of the first set. It ended up being the key of the match," Federer said on court.
"Tomas played well in the first couple of sets especially. I think in the third set he dropped a little bit.
"It was tough the first set. Could have gone either way. He deserved it. I stole that one a little bit."
Federer has now won 14 out of 14 quarterfinals in Melbourne and has yet to drop a set in this tournament.
Looking ahead to his semifinal opponent Chung, Federer said: "He's incredibly impressive in his movement, he reminds me a lot of Novak the way he is able to slide forehand and backhand and use the hardcourt as a claycourt.
"He gets balls back and stays aggressive in defence, so I'm really excited to be playing him, he's got nothing to lose, I will tell myself the same and we'll see what happens."
Federer was broken in his opening service game and fell behind 2-5 before he broke back with a backhand in the ninth game to send the first set into a tiebreaker.
He put the foot down and careered to five set points before taking the tiebreaker with an audacious drop shot.
He continued to put the squeeze on the Czech and broke him in the eighth game and served out for a two sets to love lead after 90 minutes.
Both players exchanged breaks early in the third set before Federer reeled off a signature backhand winner to break again in the fifth game.
He consummately served out for the match for his 20th win in 26 meetings with Berdych.
Federer is coming off an extraordinary 2017, when he won a fifth Australian Open title and a record eighth at Wimbledon, after returning from an injury lay-off.
The 36-year-old is bidding to win his 20th Grand Slam title and is the oldest man to reach the semifinals in Australia since Ken Rosewall (42 years) in 1977.
It was in Melbourne a year ago where he lit the fuse on his late-life tennis renaissance, beating Berdych, Kei Nishikori, Mischa Zverev and Stan Wawrinka before downing great rival Rafael Nadal in a five-set final classic.