The Northern Irishman sank six birdies while a bogey on the final hole was the only blemish on his card as he climbed from an overnight position of joint third to lift the title on 20 under.
It is the second win in less than a week for McIlroy, who claimed the Deutsche Bank Championship on Monday. It is also the third in his last four tournaments, as he won the PGA Championship last week. Lee Westwood and Phil Mickelson tied for second place on 18 under par.
McIlroy began the day a shot back of overnight leaders Mickelson and Vijay Singh, but was on the move quickly with birdies at the second and fifth before moving top of the leaderboard to stay with back-to-back birdies at nine and 10. The 23-year-old then pulled away from the field with birdies at 15 and 16 to open up a three-shot cushion with two to play.
Mickelson tried to keep pace by trimming McIlroy's advantage to two with birdies on 15 and 16. But a bogey on 17 removed any suspense, allowing McIlroy a leisurely victory stroll up the 18th.