Rose struggled to read the greens early but had few complaints after a three-under-par 67 at Firestone Country Club.
He recorded an eight-under 132 halfway total, one stroke ahead of Australian Marc Leishman (69) and two in front of American Rickie Fowler with half the 76-man field still on the course.
Tiger Woods drove poorly but eked out a 71 to trail by seven shots on a course where he has won a record seven times.
Rose, who hit 16 greens in regulation, described his round as a "stark contrast" to his opening 65.
"Yesterday I scrambled it around and made everything," the world number four told Golf Channel. "Today I hit it much closer to the hole, gave myself plenty of looks and didn't make as many.
"Early on I just wasn't seeing the breaks very well. I began to putt much better on the back nine.
"I had the opportunity to shoot a low one today but all in all it was a nice step forward the way I felt with my long game."
First round leader Leishman had a "scare" at the first hole when his approach shot to four feet set up a likely birdie, only to three-putt for a bogey.
"After that I holed a few good putts," said the world number 51, who is coming off a tie for fifth at the British Open.
"I feel like I'm playing well. It is a tough course. If you're not hitting good shots, you can make bogeys pretty good, as I showed out there today."
Woods, in just his third event since March back surgery, was not exactly a model of accuracy off the tee at a course with plenty of rough waiting to gobble up errant shots.
The defending champion scrambled well at times, though the par-four ninth (his 18th) was not one of those occasions. After driving into the right rough, Woods tried to get home with a five-wood, only to slice the ball into another poor lie 40 yards short of the hole, from where he bogeyed.
- Sports & Recreation
- Tiger Woods
- Marc Leishman