Zach Johnson holed from 163 yards for an eagle at the 18th to take a one-shot lead over Tiger Woods into the final round of the Chevron World Challenge.
Former Masters champion Johnson carded a 68 for eight under overall while Woods had a mixed round, carding four birdies and five bogeys in a 73.
South Korea's KJ Choi is third on five under after a level-par round of 72.
England's Paul Casey is two under after a 67 while Scotland's Martin Laird is one over after a magnificent 66.
Johnson was one shot behind tournament host Woods when he holed out with a seven iron at the last.
Woods had three bogeys on the par fives to lose his lead, but he is still in a good position to win for the first time in two years.
Johnson, whose only major title came at Augusta in 2007, covered the hilly back nine in four under to take control of the elite 18-man event going into Sunday's final round.
Americans Gary Woodland (70), Hunter Mahan (73) and Matt Kuchar (74) are tied for fourth, two shots adrift of Choi.
Woods said: "It was tough out there. The wind was very gusty and swirling all over the place.
"Even though I made three bogeys on the (five) par-fives and I had two three-putts, I played well. I hit a lot of good shots that ended up in bad spots because I had bad gusts.
"I just need to make a few more putts," added Woods, who has not won a tournament since the 2009 Australian Masters, while his world ranking has dropped to 52nd.
"I'm right there with a chance going into tomorrow."
Johnson was delighted to end the day on top of the leaderboard after starting his round four strokes off the pace.
"Today was good and it wasn't easy with the wind," the 35-year-old said. "I got off to a pretty shaky start but made some nice saves and then had a lot of opportunities and didn't make any of those.
"Then I got going and ended on a pretty stylish note."