Garcia carded a flawless closing 69 at Emirates Golf Club to finish 19 under par, three shots clear of Ryder Cup team-mate Henrik Stenson.
The 37-year-old began the day with a three-shot lead and rarely looked threatened before responding superbly when Stenson finally closed the gap to two with a birdie on the 14th.
With the Open champion firing his tee shot on the next over the green on his way to a bogey, Garcia’s stunning approach to two feet set up a birdie and two-shot swing to give the world number 15 some welcome breathing space.
Stenson birdied the last to complete a 69 and finish 16 under par, two shots ahead of England’s Tyrrell Hatton and Denmark’s Lasse Jensen. Ian Poulter, who was in the final group alongside Stenson and Garcia, struggled to a closing 76 to finish tied 15th.
“It was great but it was tough,” said Garcia, whose previous win on the European Tour also came in the desert in Qatar in 2014, although he won on the Asian Tour in 2015 and the PGA Tour last season.
“Even without his best, Henrik’s always there. He doesn’t give anything away. I think it was tighter than everybody thought but I’m very happy to play the way I played and with some of the key moments, the way I handled them. It’s great to beat Henrik, we all know what a great player he is.”
Garcia produced a vital par save from a greenside bunker on the eighth after a wild drive into the desert, but admitted the 15th hole proved pivotal.
“Eight was very, very big because it was the worst drive I hit all week,” added Garcia, who got engaged to Angela Akins on January 7.
“The 15th was even more important because he (Stenson) was coming after two birdies and I hit a really good shot; to be able to hit it to a couple of feet and get four clear there was massive.”
Garcia now has 25 official professional victories to his name, although he also has almost as many top-10 finishes in majors (22) without tasting success.
“When I get to Augusta, the US Open, the British Open, (US) PGA, I just want to do the best I can,” he added.
“Some weeks I’m really good, like this week, and some weeks are not quite as good. But it doesn’t mean that I’m not trying.
“At the end of the day the only thing I can do is give my best out there and if I leave the course feeling like I gave it everything then I am trying. I’m going to keep trying and give myself more shots, more chances at majors and you know, see what happens.”
Stenson, who claimed his first major at Royal Troon last year, also had this year’s first major at Augusta National on his mind as he reflected on a satisfying start to the season.
The European number one, who was eighth in Abu Dhabi a fortnight ago, said: “You’ve got to push when you’re behind and we got the wind slightly wrong there on 15. I overhit it a little bit at the same time.
“At the same time, Sergio hit a lovely shot to about two and a half feet and it was pretty much game, set and match on the 15th green.
“I’m just working away on my game, trying to move all the positions forward and the time when we want to be peaking is obviously early April. So that’s what we’re working towards and it’s good, steady progress.”