Justin Rose hit a four-under-par 66 to steal the limelight from Rory McIlroy in the Honda Classic in Florida.
The 31-year-old Rose shared the lead with American Tom Gillis at eight-under-par after day two on Friday.
But US Open champion McIlroy, who will become world number one if he wins on Sunday, fired in three birdies in the last five holes to finish one behind.
"I've not made that many mistakes," said Rose. "It's a course that rewards limiting the mistakes."
“I had a couple of chances on the front nine and didn't take them, but I was just trying to stay as patient as possible”Rory McIlroy
Rose was 10 under at one point by turning in 31 and adding birdies on the third and fifth, but he bogeyed the next two and failed to get up and down from sand on the seventh.
McIlroy will become world number one if he wins the title on Sunday and stayed in contention thanks to birdies on the 14th, 15th and 18th.
American Dickie Pride shot a 67 to join McIlroy on seven under.
"I felt like I played another really solid round," said the Northern Irishman.
"I had a couple of chances on the front nine and didn't take them, but I was just trying to stay as patient as possible.
"The bogey on the 13th when I had only a wedge in my hand [he hit it into a plugged lie in a bunker] was frustrating, but the finish was nice."
Graeme McDowell hit 64 to go three-under while Lee Westwood and playing partner Tiger Woods were both one under.
Woods was in danger of missing the cut but birdied the last two holes.
He said: "I got it going, lost it, got it going, lost it and then got it going. It was a little bit of a fight - probably the worst I've hit the ball in months.
"I figured something out with the swing the last four holes. Unfortunately it took me that long."
The round of the day came from American left-hander Brian Harman who shattered the course record by three with a dazzling 61 to reach six under.