Nadal broke Berdych's serve twice in the first set and again in the ninth game of the second, improving his career record at Foro Italico to 40-2.
He goes on to face Swiss superstar Federer, who secured his place in the final with a 7-6 (7-5), 6-4 decision over Frenchman Benoit Paire.
Federer saved 5-of-6 break points in the win, and will face Nadal for the 30th time in his career and the second time this year.
Nadal waltzed to a 6-4, 6-2 win over Federer in the Indian Wells quarterfinals in March, improving to 19-10 against the Swiss.
Biologists detail four new deep-sea 'killer sponges'
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend