The Spaniard, who had never posted a top-10 finish in his previous seven Desert Classic appearances, finished on a 19-under 269, three strokes ahead of Open champion and top-ranked European Henrik Stenson (69).
Denmark's Lasse Jensen, whose 65 was the low round of the day, finished tied for third with England's Tyrrell Hatton (67).
It was Garcia's first European Tour win since the 2014 Qatar Masters. In the interim, he also won the Byron Nelson Classic on the PGA Tour last year.
With his 12th European Tour victory, Garcia became the sixth wire-to-wire winner of the Desert Classic and the sixth Spaniard to lift the "Dallah" trophy.
Garcia, 37, is expected to move up to No. 9 from his current 15th place when the rankings are released Monday.
He started the day with a birdie and increased his lead to four shots, a cushion that seemed necessary given how tough the front nine of the golf course was playing due to cross winds. He held his nerve throughout before making a critical par save on the eighth hole after hitting his tee shot into the right desert, and then made another birdie on the tough par-4 ninth to ensure he stayed four ahead of Stenson.
The Swede made his move on the back nine, with three birdies and a bogey on the first five holes, while Garcia kept churning out pars. Heading to the 15th tee, Garcia's lead was down to two shots.
But the Spaniard held firm on the par-3 15th hole. He hit a stunning tee shot to two feet for a birdie, while Stenson hit his over the green and failed to make an up-and-down for a bogey and a two-shot swing.
Stenson then got a closing birdie while Garcia missed his from 12 feet, narrowing the gap to three shots.
"I've been fortunate to have some really good ball-striking tournaments," said Garcia, who led the greens in regulation stats for the week and was second in driving accuracy. "This definitely was one of them. I felt like my iron play was really, really good. Obviously my driver was very good, a couple of shots here and there. But you know, on a course of 72 holes, it's going to happen.
"Nobody can go without missing a shot but this week was definitely a week where I felt very comfortable with my game. I felt like I was in good control of what I wanted to do with my ball flight and stuff. So I guess it showed up."
Stenson, who won the tournament in 2007, said: "Obviously, I was chasing all day and I was trying to push, even though I didn't play my best.
"With that birdie on 14, I was hoping I was going to be able to make it a bit interesting coming into the last couple of holes. If you're one or two behind, with 17 and 18, a lot of things can happen. You can eagle and someone else can end up in trouble.
"We picked the wrong wind and I hit the wrong shot at the same time. Airmailed the green on 15 and led to bogey. And Sergio hit a good shot to three feet and then it was pretty much game, set, match."
After completing its desert swing, the European Tour next moves to Kuala Lumpur for the Maybank Championship.