The 22-year-old sank five birdies in a bogey-free round at Hong Kong Golf Club, chipping in from a greenside bunker at the last to finish in style with a winning score of 12 under par and two ahead of playing partner Gregory Havret.
The victory means the US Open champion can overhaul Race to Dubai leader Luke Donald if he wins next week's Dubai World Championship and the Englishman finishes 10th or lower.
Havret also carded a 65 to end the tournament 10 under par, while Peter Hanson returned a 70 as the Swede finished third on nine-under.
Ian Poulter (66), Richie Ramsey (66) and Pariya Junhasavasdikul (70) were tied for fourth on eight under par.
It was an incredible finish to a day that saw the lead change hands a number of times.
Having battled his way to a 70 on Saturday, a revitalised McIlroy quickly set about overhauling overnight leader Alvaro Quiros and a putt from around 12 feet brought the first birdie of the day at the second, but he was unable to capitalise on a number of subsequent chances over the front nine
A nice approach at the sixth was followed by a birdie putt that just slid past the hole and he then missed another makeable one at the par-three seventh.
A short birdie putt at the eighth also went begging but he finally took advantage at the ninth to move into a share of the lead on nine under par.
Another birdie at the 12th saw him move clear at the front and a two at the par-three 15th gave him a one-shot cushion over Havret heading down the last.
After driving into the left-hand rough, his second shot landed in the bunker just in front of the green. Havret, meanwhile, had found sand from the tee and was forced to lay-up.
His approach landed 20 feet from the flag but McIlroy rendered the Frenchman's putt academic after he incredibly holed his bunker shot for a birdie, a series of fist pumps showing his obvious delight.
An eagle at the 12th to go with three birdies and a bogey had thrust Havret into contention but he could only pick up one more shot - at the 17th - as ended 10-under and two back from McIlory.
Hanson, meanwhile, ended the day as he started on nine under par. The Swede birdied the third to briefly take the lead on 10-under but three-putted the fourth from 10 feet to drop back before bogeying the eighth.
A birdie at the ninth saw him reach the turn nine under par and another at the 12th kept him in the hunt but he dropped a shot at the 14th and had to settle for third.
Poulter had picked up three birdies over the front nine, the defending champion draining a mid-range putt at the ninth to climb to seven-under, before gaining further shots at the 12th and 14th to move to nine under par.
But a bogey at the 15th halted his momentum and the defending champion eventually signed for a 66 to finish alongside Ramsay and Pariya in fourth on eight under par.
"Disappointing, I came to defend and I've come up shy," Poulter said of his performance.
"I thought I had a chance today [Sunday]. I got off to a very good start, birdies at two and three and a sack full of chances from there on in.
"I got it to nine under and I just flushed it on 15, pitched two yards short of the pin and it's gone through the back of the green. A costly bogey at the wrong time."
Ramsay's 66 contained an eagle, four birdies and two bogeys. Playing in an earlier group, the Scot was still in contention at the 18th but his drive found the trees, he had to pitch out and ended up dropping a shot.
"Bogeying the first hole was a little disappointing but I played really solidly," he said.
"Looking back on the last three days, a couple more putts and I feel like I could have got to 12 or 13 under.
A fraction unlucky at the last, the wind seemed to catch the tee shot and it never stopped.
"I played to win, which was the biggest thing. I'm not out here to make up the numbers, but another good week."
Quiros, meanwhile, struggled from the off.
The Spaniard bogeyed the first and although recovered the shot at the third, two more bogeys and a double at the seventh saw him reach the turn in 39.
Two more birdies and one dropped shot on the back nine meant he ended tied for seventh on seven under par following a 73.