The Englishman hit a peerless 68 on the final day at the Jumeirah Golf Estates, holding his nerve in a brilliant last five holes to finish on -18, two shots clear of Reed and compatriot Wallace.
The win marks an extraordinary recovery for Willett who has struggled with patchy form, injuries and illness since his only major win at Augusta.
Willett started the day in a tie for the lead with this year's Masters champion Reed, but he quickly moved clear with an enormous eagle putt from 40 feet on the par-five 2nd and extended his advantage with a birdie on the 7th.
He was reeled in by the consistent Wallace after dropping shots at the 10th and 12th, but, as he did in the first three rounds, Willett excelled in the final five holes, finding a crucial birdie to re-take the lead at the 14th.
He birdied the 15th too but a reignited Reed was now the main challenger as he birdied the same hole and went close to levelling up by nearly finding birdie at the 16th.
But Reed then missed the green on the par-3 17th to drop a shot while Willett hit a perfect approach for birdie to go two shots clear of clubhouse leader Wallace going into the final hole.
There was drama on the 18th as Willett went perilously close to the water, his fortunate tee shot falling ominously close to the rocky creek across the 18th fairway.
But that was the last moment of danger for Willett, who managed to recover, making the green in three to two-putt for par and the title.
Willett, who has been as low as No. 462 in the world rankings this year, admitted afterwards he had been unsure whether he would ever win another tournament.
"You never quite know when a win is around the corner. With everything that's happened you're never sure if another win is going to come," Willett said.
"It's been a hell of a lot of work. It's just nice to be back.
"I've started pretty slowly on the first four or five holes all week - but I got off to a quick one today. For that to happen on a Sunday in the position I was in, I knew I was in a good place."
Reed's birdie on the 18th meant he finished in a tie for second on -16 with Wallace, whose final round 68 capped an excellent week.