The New Zealand rider hit the front with 7km to go and never let go of it, holding off Gianni Moscon as they climbed La Morra.
Mathieu van der Poel made an effort to close in, getting past the Italian but not able to overtake Bennett.
'I knew I had to try something' - George Bennett on his victory
He was under pressure in the final metres as the chasing pack closed in on him, but he got over the line just ahead of Diego Ulissi of UAE Team Emirates in second place.
It was the second win of Bennett's professional career after the general classification of the Tour of California three years ago.
"I only had two days left this season where I could ride for myself; today and Saturday, and then I go back to being a domestique," the 30-year-old said afterwards.
"On our team, we have the best riders in the world, so I had an opportunity now, on this team, and I really had to take it. I’m really happy that I could do it today. I told the boys that I wanted to try and they really did a wonderful job. I’m really happy."
George Bennett takes Gran Piemonte victory
‘Powering to the line’ – Wang seals junior ITT title with stunning ride