Singh closed with a 2-under 70 to finish at 24-under-par 264. The Fijian joined Tony Lema (1964-65) as the only two players to repeat as champion here.
Tiger Woods made one of his patented Sunday charges, but it was not enough. He bogeyed the last to close a round of 6-under 66. He was joined in a tie for second place at 20-under-par 268 with Zach Johnson, who shot a final-round, 3-under 69.
Australian Robert Allenby fired a 7-under 65 to take fourth place at minus-18.
Singh opened with four straight pars on Warwick Hills Golf and Country Club. He sank his first birdie putt on the fifth to move five shots clear of Johnson, his playing partner.
The reigning PGA champion cruised to the back nine with four more pars. Singh made the turn at minus-23, five ahead of Johnson and nine ahead of Woods.
Woods, however, caught fire coming in. He sank a 15-foot birdie putt on 11 and came right back with a birdie from 5 feet out on 12.
The 29-year-old two-putted for birdie on the par-5 13th to get to minus-17 and within six of Singh.
Woods drove the green on the par-4 14th and ran in his eagle putt. He two-putted for birdie on the par-5 16th and drained a 20-footer for birdie on 17 to get within two of Singh.
However, Woods could not save par at the last after missing the fairway right and slipped back to minus-20.
Singh, meanwhile, was cruising. He parred the 10th before getting up and down for par at 11. The world's second-ranked player scrambled to pars on 13, 14 and 15.
The Fijian moved to minus-24 and three clear of Woods by getting up and down for birdie on the par-5 16th. Singh closed with a pair of pars to win for the 28th time on the PGA Tour.
'It was a tough day. Nobody pressured me at all, so I wasn't sure whether I should play aggressive or not play aggressive,' said Singh. 'I decided to play it hole-by-hole and try not to make any mistakes. Towards the end it got easier as I relaxed more.'
Dudley Hart closed with a 6-under 66 to finish alone in fifth place at 17-under-par 271. Jim Furyk, the 20003 champion, joined Jeff Brehaut one shot further back at minus-16 after each man shot 4-under 68.
Sean O'Hair birdied the 72nd hole to shoot 71 and move into a tie for eighth place at 15-under-par 273. He was joined there by Craig Barlow (69), Richard S. Johnson (68) and Heath Slocum (67).