World number one Rory McIlroy shot a second straight six-under-par 65 to take the halfway lead at the Deutsche Bank Championship on 12 under.
South Africa's Louis Oosthuizen holed five birdies and an eagle in his 65 and trails the Northern Irishman by one.
Tiger Woods mixed five birdies with two bogeys in his 68 to finish alongside fellow American Ryan Moore at 10 under.
Ian Poulter (71) is at four under, with fellow Englishmen Lee Westwood (71) and Luke Donald (72) both three under.
McIlroy started on the back nine and rolled in a nine-foot birdie putt on the 12th before tapping in another on the 14th after almost holing his 160-yard approach.
A third birdie followed on the 15th and he made an 11-foot eagle putt on the par-five 18th to reach the turn in five-under-par 30.
He continued his fine round with a fourth birdie on the first before successive bogeys threatened to ruin his card.
However, birdies at the fourth and fifth lifted McIlroy back up to 12 under.
"Everything seemed to work pretty well out there," he said. "I felt like I drove the ball a bit better and hit more fairways, which gave me some more opportunities to make birdies. And I was putting well enough to take a few of those.
"I'm very pleased with how I played and I'm in a great position."
Woods, who began the day on seven under, birdied three of his first six holes but had to wait until the 14th for his next before picking up another shot on the 17th.
"I didn't make anything," said Woods. "But I'm right there. This golf course is playing well and there are definitely good scores out there."
Oosthuizen, who started on the 10th, took advantage of the favourable conditions with birdies on his first three holes and he atoned for his solitary bogey on 13 with a birdie on 16.
He then birdied the third and eagled the par-four fourth to get to 11 under.
Northern Ireland's Graeme McDowell parred his last hole to make the cut on two over, while Ireland's Padraig Harrington birdied the 18th to reach the same score and ensure he will play in the final two rounds.
The leading 70 players on the FedExCup points list after this event advance to the BMW Championship, with the top 30 then progressing to the Tour Championship finale in Atlanta where the overall points winner pockets a $10m (£6.3m) bonus.