The 33-year-old Spaniard, who held the lead since the second round, turned in a solid final round that featured six birdies and two bogeys to finish on 22-under 266.
The victory is Garcia's first this year with his last win coming at the Johor Open, an Asian Tour event in Malaysia last December.
"It was great, an amazing week," said Garcia, who has now won four Asian Tour titles in his career. "I'm very, very happy and I can't wait to go back home to Switzerland and kind of sleep on it a little bit.
"I knew Henrik was going to make it difficult for me. He's been playing so amazingly great, and he did. I started well, but he also did. He kept hitting good shot after good shot," Garcia added.
Garcia raised some eyebrows by playing with his girlfriend, Katharina Boehm, as his caddie this week, but the partnership has proved to be effective.
Sweden's Stenson, who recently made history when he became the first player to win the Race to Dubai and the FedEx Cup, matched Garcia's 68 in his final round for an 18-under 270 total.
"It was a good week. Especially (because) I've had a great year but coming here really on the fumes left in the tank, not too much going for me to perform this week in that sense. But ... I was hanging in there and I was just coming up a couple short," Stenson said.
"I needed something really, really good to happen there. I had a couple of chances to get a little bit close around 8 and 9 but I didn't make those two birdie putts and Sergio was hanging in there, made one or two good saves and then he made three birdies in a row, and then he pulled away, and then really I would need something spectacular to happen the last four or five holes."
Alexander Levy of France shot a 69 to finish another four shots back for a 274 total and third place. Last year's winner, Charl Schwartzel of South Africa, with a second straight 67, was joint fourth on 275 along with Yuki Kono of Japan, US Open champion Justin Rose, and Anirban Lahiri of India.
American Rickie Fowler endured an up and down round that featured six birdies and four bogeys for a 70 and an 11-under 277 to finish in a share of eighth place with Thailand's Chapchai Nirat.