After opening with a bogey-free 64, McIlroy struggled on the front nine, bogeying the fourth hole and dropping two strokes when he drove into the water on the par-4 ninth.
The 22-year-old star from Northern Ireland recovered with four birdies on the back nine to finish at 11-under 133 on Lake Malaren's Jack Nicklaus-designed Masters course.
'I liked the birdie on 18, and had a good back nine,' McIlroy said. 'To shoot four birdies kept me going after the double bogey.'
Noh Seung-yul was second after a 63. The 20-year-old South Korean player birdied three of the last four holes. He began the round tied for 18th after an opening 72.
'I had hurt my ankle and not been able to practice too much and also not be able to swing as hard as I would like,' Noh said. 'I just decided to be careful with how I played. I putted well and chose good options, which obviously helped my score.'
The 30 players are vying for the $2 million first prize, the richest in golf. All the top players are getting appearance money, and last place pays $25,000. Because The International Management Group-run event isn't sanctioned by a major tour, it doesn't have world-ranking points.
Ian Poulter (71) and Robert Karlsson (69) were 6 under, and John Daly followed his opening 69 with a 70 to match Lee Westwood (70), Colin Montgomerie (69) and Masters champion Charl Schwartzel (69) at 5 under.
The World Golf Championships-HSBC Champions is next week at nearby Sheshan International.