The Spaniard carded six birdies and two bogeys to finish on 22 under par, four strokes ahead of Henrik Stenson.
Garcia had claimed the lead in the second round and the 33-year-old kept Race to Dubai and FedEx Cup winner Stenson at bay, with the Swede also carding 68 in his final round to finish with an overall total of 270.
Stenson has already secured his place on Europe’s team for next year’s Ryder Cup and, buoyed by this win, Garcia will now have high hopes of joining him at Gleneagles.
France’s Alexander Levy also shot 68 on the final day to finish a further four strokes back, with last year’s winner Charl Schwartzel finishing in a four-way tie for fourth alongside England’s US Open champion Justin Rose, Yuki Kono, of Japan, and India’s Anirban Lahiri.
Garcia was pushed by Stenson, who cut his overnight lead by half at the turn, but the Spaniard fired three successive birdies from the tenth hole to make sure of his first win since last December’s Johor Open in Malaysia.
“I knew Henrik was going to make it difficult for me. He’s been playing so amazingly well, and he did,” Garcia told www.asiantour.com.
“He kept hitting good shot after good shot. And then, when I bogeyed seven, I had to make a good par save on nine after getting a bit unlucky with the approach shot.
“And then I made three very important birdies on the first three on the back nine and gave myself a little bit of a cushion.”
Garcia, who had his girlfriend Katharina Boehm caddie for him during the event, added: “It was great, an amazing week, obviously, being the last week of the year and for having Katharina caddie for me. I pretty much knew that finishing par, par, the tournament was pretty much mine, and then just making sure I kept the tee shot dry on 18 and I hit a great second shot with a six iron, and once the ball came out of the clubface, I knew that I was pretty much done.”
Stenson, who had been aiming to cap off a successful year, revealed he had been running on empty during the tournament.
“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 in that sense,” he said. “But I played really nicely yesterday and I was hanging in there today and I was just coming up a couple short.
“I needed something really, really good to happen on eight and nine 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 pulled away. Congratulations to Sergio on a great week. He played really well.”