The 25-year-old, who reached the Australian Open semi-finals after winning the Brisbane International last month, claimed his sixth career title to the delight of 12,000 passionate fans.
After a tight opening set, Dimitrov gave little breathing space to his opponent to take a 5-0 lead in the second set. But Goffin, who was hoping to win his first title since 2014, broke twice to make it 5-4.
Dimitrov dug deep into his reserves to break again and conclude the final after his fourth championship point. He promptly collapsed to his knees, burst into tears and kissed the court.
"Without you (the Bulgarian fans), I could never win this tournament," Dimitrov said in a court side interview.
"This title means a lot to me. Today, after the last point, I felt again like a kid playing in front of a home crowd."
Second-seed Goffin complained to the umpire about the hostile atmosphere in the hall at the end of the first set.
The Belgian, ranked 11th in the world, has now lost all three of his main tour meetings with the Bulgarian, including a straight sets defeat at the Australian Open.
Former world number eight Dimitrov had seen his ranking plummet to 40 last July but has now emerged from that slump to climb back up to 13th. (Reporting by Angel Krasimirov, editing by Pritha Sarkar)
Read the original article on Eurosport: Confident Dimitrov downs Goffin to win Sofia Open