The Austrian carded a bogey-free 65 in Rome to overturn a three-shot deficit and beat overnight leader Fitzpatrick by one – condemning the 2016 Ryder Cup star to a fifth runners-up finish of the 2019 campaign worldwide.
Fitzpatrick had started the day with a one-shot lead but a double-bogey after going out of bounds off the tee on the ninth proved costly.
The Yorkshireman picked up three shots on the back nine to finish but could only par the last after leaving himself 35 feet for a birdie that would have moved him to 15 under and into a play-off.
“It was a bit crap,” he said after carding a closing 69. “To lose by one is obviously very disappointing.
“I think I’ve played well when I’ve been up there on a Sunday, just other people really keep grinding and I keep coming up from behind. It is what it is. It’s still a great week, I’m here to win and not here to just make up the numbers.”
Wiesberger made a hat-trick of birdies from the fifth and added another on the ninth to share the lead before Fitzpatrick’s error left him two ahead.
Excellent tee-shots on the 14th and 16th handed the the 34-year-old two more birdies and a 16-under total.
Wiesberger missed the last seven months of the 2018 season with a wrist injury but now sits at the top of the Race to Dubai and has a flying start in his quest to make a Ryder Cup debut in 2020.
“It’s been a great summer for me,” he said.
American Kurt Kitayama finished at 12 under, a shot clear of England’s Andrew Johnston, Scot Robert MacIntyre and Austria’s Matthias Schwab.