McIlroy ended with a 7-under-par 65, which has him two strokes up on Gonzalo Fernandez-Castano and Jamie Donaldson. A group of Tommy Fleetwood, Justin Rose, Jordan Spieth and Bubba Watson is tied for fourth at 4-under and seven more players are at 3-under.
Phil Mickelson was tied for the lead after 16 holes but put two balls in the water at the par-5 eighth -- his 17th Thursday -- for a double-bogey 9 and bogeyed No. 9 to drop to 1-under and a tie for 28th.
McIlroy, starting on the 10th hole Thursday, opened with a birdie but then had a 5 at the par-4 11th. He came right back with another birdie and added birdies at each even-number hole to make the turn at 4-under.
He opened his second nine with back-to-back birdies and added to his lead with one more at No. 8 with a 7-foot putt.
Fernandez-Gonzalo, coming off a European Tour win at the BMW Masters also in Shanghai, had two birdies and a bogey in the first nine holes but raced up the leaderboard with four consecutive birdies at Nos. 5-8.
Donaldson's round included a back nine that showed an eagle 2 at the 16th, four birdies and two bogeys.
The tournament is on both the PGA Tour and the European Tour calendars.
Exploding whale video goes viral on Internet
Benedict Cumberbatch's dramatic reading of R. Kelly lyrics is just what you need