Xander Schauffele shot a 6-under 64 for the lowest 36-hole score of his career and a two-shot lead going into the weekend at the BMW Championship.
Tiger Woods went from a share of the lead to having to catch up again.
Schauffele has gone nearly a year without winning. A victory at Aronimink might even be enough for Jim Furyk to take the 24-year-old from San Diego as the final captain's pick for the Ryder Cup. He was at 13-under 127.
Justin Rose shot 63 and was two shot back in his bid for a third title in Aronimink. Rose won at the Newtown Square course in 2010 and captured his lone major at Merion in the 2013 U.S. Open.
One day after a 62, Woods shot 70 and was five behind.