Leonard began the day a shot behind Love and trailed by two after five holes, but he drew even with a birdie at the 11th and took the lead for good with another at the 15th.
When Love bogeyed the par-3 16th, Leonard had a two-stroke cushion. He bogeyed the closing hole but held on for his first win in nearly a year and the eighth of his career, finishing with a four-round total of 24-under 264.
"Fortunately, I think I made a couple more putts than he did the last few holes and a couple of key up-and-downs to where the last couple of holes didn't make much of a difference," said Leonard, who pocketed $900,000.
"I was hoping to finish off a little better than that, but again, I guess I'm not going to beat myself up too much."
It was the fourth win in the last 68 starts for Leonard.
Love had been hoping for his second win of the season, but he played the back
nine in 1-over en route to a 69, which left him tied for second with Chad Campbell at 23-under 265.
"It's just disappointing when you're playing well not to win, no matter what's happened earlier in the year," said Love, who made $440,000.
Campbell shot a 65 for his second straight runner-up finish. Two weeks ago, he ended up two strokes behind Frank Lickliter II at Tucson, the same week as the Match Play Championship.
"I've had quite a few chances this year and played well but have not been able to get it done," said Campbell, who won three times on the Nationwide Tour in 2001. "There seems to be more people around the lead and it makes it harder to win tournaments."