Bonzi might only be ranked 124th in the world, but he has been on a hot streak which has led to the first title of his career at the age of 28.
Norrie paid the price for not taking his chances – particularly in a tight first set where he converted only one of 13 break points.
A mammoth ninth game saw the British number two create 10 opportunities on Bonzi’s serve, but could not take any of them and his opponent then edged the set on a tie-break.
Bonzi, having demonstrated the same resilience he had shown all week, maintained momentum and clinically broke early in the second set.
Norrie’s aggressive returning became more wayward as he tried to recover, meaning he was unable to apply any more serious pressure on Bonzi’s serve.
Serving out for the title at 5-4, the Frenchman showed no sign of tension as he hit an ace out wide to set up championship point before sealing victory.
“I was not expecting a week like that. It’s crazy to finish the year like this,” said Bonzi, who will return to the world’s top 100 next week.
At the Belgrade Open, Canada’s Denis Shapovalov also ended a long wait for an ATP title by beating Serbia’s Hamad Medjedovic in the final.
Shapovalov, 25, has been out of the top 100 for most of the season after a knee injury, but lifted his first trophy since 2019 with a 6-4 6-4 victory.