The three-time Rome champion raised his clay court winning streak to 29 straight, including 15 this season.
He suffered just one service break after he had broken Gonzalez to lead 3-2 in the first set.
"I'm very happy about be in this final another time," the top seed said. "Playing in Rome is a pleasure. It's always an amazing feeling to come back here and be in the final."
His opponent in Sunday's final will be defending champion Novak Djokovic, the third seed.
The Serbian took advantage of a rain delay to regroup and rally from a set and a break down to earn a 4-6, 6-3, 6-3 victory over No. 2 seed Roger Federer.
"Rafa's going to be absolute favorite, but I will have my chances," Djokovic said about Sunday.
Nadal holds a 12-4 lifetime advantage.
The winner pockets $565,000.