The Australian, who started the final round ahead of Henrik Stenson by one shot, carded a 5-under 67 to finish on 19-under 269. He won $1.25 million.
The 32-year-old Leishman's previous best finish on the tour was at this year's British Open, when he lost a playoff to Zach Johnson.
Three straight birdies either side of the turn meant that Stenson trailed by two shots with eight holes to play, but the Swede finished poorly to shoot a par 72 on the day.
"I knew it was going to be a really tough day, I knew I had to play well," Leishman said. "I'm really pleased that I could play as well as I did and have a little bit of a buffer there at the end."
The turning point in the final round came at the par 3 seventh hole, when Stenson found a bunker and dropped a shot while Leishman holed a tricky 10-foot putt for birdie.
That opened up a three-shot gap between the duo, and although Stenson pulled one back at the eighth he was still forced into an aggressive game on the back nine.
While Leishman was faultless from that point on, finishing the tournament with just three bogeys in total, Stenson bogeyed Nos. 15 and 18.
"Golf's a lot easier when you don't have to make up lost ground, especially on this golf course where there's trouble everywhere," Leishman said.
The third member of the final group, Jaco van Zyl, fell away badly after starting the day on 10 under.
The South African opened with a bogey before recovering with an excellent approach shot at the second that brought his second eagle of the week. However, he double-bogeyed the sixth to drop out of contention.
Five further bogeys saw Van Zyl card a 6-over 78 to finish tied for 13th.
Van Zyl's profligacy opened the door for England's Chris Wood (68) to finish third on 9 under.