Rahm enjoyed a six-shot lead after seven holes of the final round but eventually had to birdie the 18th to complete a closing 68 and finish 19 under par, a shot ahead of Ryder Cup team-mate Fleetwood.
Fleetwood birdied five of the last seven holes to fire a brilliant closing 65 in pursuit of a second consecutive win after his victory in Sun City, but could only watch as Rahm held his nerve to get up and down from a greenside bunker on the last.
The 25-year-old is just the second Spanish player after Seve Ballesteros to finish the year as European number one.
“Seve is such an idol for all of us and so are Sergio (Garcia) and Olly (Jose Maria Olazabal) and so many of the great Spanish players and to think that I’m putting my name there before they do is hard to believe,” Rahm told Sky Sports.
“I can’t believe some of the things I’ve accomplished.”
Rahm began the final round tied for the lead with France’s Mike Lorenzo-Vera, but birdied five of the first seven holes at Jumeirah Golf Estates to open up a six-shot lead.
A bogey on the eighth coupled with Lorenzo-Vera’s birdie on the same hole reduced Rahm’s lead to four shots and the world number five then three-putted the ninth to give the chasing pack some hope.
Rahm, who had not played competitively since winning the Spanish Open at the start of October, produced the ideal response with a birdie from 12 feet on the 10th.
However, a bogey on the 13th was Rahm’s first dropped shot on the back nine all week and opened the door for the chasing pack.
Lorenzo-Vera took advantage with a birdie from close range for a two-shot swing and he soon had company in second place as Fleetwood birdied the 12th, 14th and 15th.
Lorenzo-Vera was inches away from an eagle on the par-five 14th but Rahm, who had been forced to lay up after finding the rough off the tee, matched the birdie after a brilliant approach to remain two ahead.
Rahm looked to have weathered the storm but surprisingly three-putted the 15th from no great distance and up ahead Fleetwood birdied the 17th and 18th to move into a tie for the lead.
After a perfect drive Rahm pushed his approach into a greenside bunker, but hit a superb shot to three feet and held his nerve to hole the birdie putt and seal a victory worth USD 5million (£3.9million).
Rahm collects the first prize of USD 3million (£2.3m) and a bonus of USD2 million (£1.6m) for winning the Race to Dubai.