The scores were 7-6 (7-4) 6-7 (4-7) 6-3.
Gonzalez improved to 10-0 this season in clay-court matches. Despite failing to convert two match points in the 10th game of the second set, he was able to capture his 10th tournament crown on the men's tennis tour.
Gonzalez pocketed $90,000 in his second career win in two matches against his Italian foe.
"It was really tough because he was playing very good tennis," Gonzalez said. "I had two match points in the second set but I am happy the way I did it. I had three really close matches during the week, but I think I will celebrate a bit."