Switzerland's Federer will face the winner of Rafael Nadal or Stanislas Wawrinka on Saturday. The former Australian Open champions meet in another of Friday's quarter-finals at the Foro Italico.
Federer was broken by Berdych early in the first set, but won four straight games from 3-2 behind to claim the opening set.
He was equally dominant in the second set as he broke again in the seventh game of the second to continue his preparations for the start of French Open a week on Sunday in some style.
Federer - who has overcome Czech player Berdych 14 times in 20 meetings - has yet to win the Rome tournament despite making 15 appearances in the Italian capital.
He lost to Felix Mantilla in 2003, and has twice went down to 'King of Clay' Nadal at the event in 2006 and 2013.
Nadal's fellow Spaniard David Ferrer earlier battled into the last four with a 6-2 4-6 6-3 win over Belgium's David Goffin.

Goffin found himself in the quarter-finals after British number one Andy Murray withdrew from the tournament on Thursday citing fatigue after winning his previous two clay court tournaments in Munich and Rome.
Seventh seed Ferrer always looked the likelier figure on his favourite surface despite dropping the second set to Goffin.
The Spanish player broke twice in the first.
He was himself broken twice as Goffin restored parity at 1-1, but Ferrer made a bright start to the deciding set as he eventually progressed in two hours and 10 minutes.
He will face world number one Novak Djokovic or Kei Nishikori in the last four.
Results from the Rome Masters quarter-final matches
2-Roger Federer (Switzerland) beat 6-Tomas Berdych (Czech Republic) 6-3 6-3
7-David Ferrer (Spain) beat David Goffin (Belgium) 6-2 4-6 6-3.
source:eurosport