McIlroy, the world's No. 1-ranked player, used a run of birdies over Nos. 14-18 to edge Rose by two strokes with a final round of 6-under 66. McIlroy finished the tournament at 23-under 265 for his 10th professional title. He won five times in 2012, with four firsts coming since August when he won the PGA Championship.
Rose, six back of McIlroy and Luke Donald after the third round, had a course-record 10-under 62 that included four birdies on each side and an eagle at the par-5, 626-yard 14th hole.
Donald led throughout the tournament but suffered his first bogey of the event on the third hole Sunday. He also bogeyed No. 12 and three birdies allowed him to shoot 1-under 71 in the final round. He ended up tied for third at 18-under. Charl Schwartzel, who was 4-under Sunday, was also 18-under.
Rose opened the final round with back-to-back birdies and made the turn at 4-under. He went birdie-eagle-birdie over Nos. 13-15 and claimed the clubhouse lead with a birdie at 18.
McIlroy was 1-under on the day after a 13th-hole bogey -- his third of the day -- but then had a birdie at the par-5 14th. He added birdies at 15 and 16 before a 2 at the par-3 17th gave him the lead. A birdie at the 18th capped the torrid finish.
Before Rose claimed the course record, Sergio Garcia on Sunday for the second time in the tournament tied the previous record with a 64. However, his other two rounds were 1-over 73s and he wound up tied for ninth at 14-under.