The Dane entered the final day at Jumeirah Golf Estates in a share of top spot but a birdie on the first handed him a lead he would never relinquish as he finished a shot ahead of Italian Francesco Laporta and Austrian Bernd Wiesberger at 23 under.
Wiesberger birdied five of his last seven holes over the Fire Course to surge up the leaderboard with a closing 65, while Laporta was applying the pressure all day in a bogey free 69.
Hansen claims his second European Tour win eight days short of the first anniversary of his maiden victory at the 2020 Joburg Open and makes it four Danish wins in the last ten European Tour events.
The 31-year-old was travelling alone when he won in South Africa last year but he was delighted to have his family at the side of the 18th green as he holed the winning putt this time.
"It means a lot, especially with family here and friends this time, there was nothing in Joburg," he said. "When I saw Jeff Winther win in Mallorca I was very jealous because he had all the family and friends celebrating and I really wanted that. I'm really glad I get to experience that."
Hansen has now made just one bogey in his last 83 holes and while he felt he played some of the best golf of his career over the first three days in Dubai, he was happy to be able to grind out a win on Sunday.
"I really struggled finding the middle of the club on the woods so I didn't drive it well," he added. "The putter helped me today, I putted a lot better today than yesterday so that kept me in the game.
"It’s very nice going into next week. I’ve played very nice in the last few weeks and have been really close to playing really good, which I did this week. So I’m just going to take next week as a bonus week and try to enjoy it.
“It’s four wins, some season for Danish golf. I hope it inspires lots of golfers back home.”
European Tour