Ryan Palmer tied the low round of the day as he posted a 7-under 64 to move into a tie for second place at 15-under-par 198. He was tied there by second-round leader J.J. Henry (70).
Phil Mickelson, the defending champion, could only manage a 1-under 70. He stands in a tie for 18th place at 8-under-par 205.
Saturday's third-round action was played in front of a record crowd of 168,333 fans. That came after more than 117,000 fans packed the TPC of Scottsdale on Friday.
Holmes began the day four strokes behind Henry, but quickly cut into that deficit with back-to-back birdies from the first. He drained a 20-footer for birdie on the fourth to move to 13 under.
However, Holmes was unable to get up and down for par at five. He quickly erased that mistake with a birdie from 5 feet out on No. 6. The 23-year-old nearly drove the green at the 403-yard, par-4 10th.
His chip hit the stick, but rolled 5 feet by the hole. Holmes made the birdie putt to move one clear of Henry. Holmes, who was the medalist at the 2005 PGA Tour Qualifying Tournament, two-putted for birdie from 35 feet at the par-5 13th to move to 15 under.
Holmes, who is playing in his fourth event as a professional, dropped his approach shot 11 feet from the cup at the 14th and he sank that for birdie. He closed with four straight pars to cling to a one-stroke cushion heading to the final round.
'I just want to go out there Sunday and keep doing what I'm doing,' said Holmes. 'I'll just go out there and try to shoot at some pins and make some birdies. It's been working so far, so I don't really need to change anything.'
Henry also opened with a birdie on the first. After four straight pars, he faltered to a three-putt bogey on the sixth. Henry missed the green on the ninth and was unable to save par from 11 feet out.
He got one stroke back with a two-putt birdie at the 13th. A bogey at the next dropped Henry three strokes behind Holmes, his playing partner. Henry nearly chipped in for eagle on 16, but settled for a tap-in birdie to get back to minus-14.
Henry stuck his approach 5 feet from the hole at 18 and drained that for birdie to end one shot back.
'Obviously I knew I wasn't going to putt like I did Friday, and I knew it was going to be a tough day to play,' Henry said. 'I was a little anxious at the start. But I'm in a great spot. If somebody told me I'd be one shot out of the lead with one round to play, I'd take that every time.'
Palmer, who won the 2004 FUNAI Classic, opened with a birdie on the third to get to 9 under. The Texan then ran off three straight birdies from the sixth. A bogey on the ninth dropped him to 11 under heading to the back nine.
The 29-year-old made his next move late on the back nine. He birdied the 14th and made it two straight with a birdie on 15. At the raucous par-3 16th, Palmer sank another birdie. He birdied the 17th to get within one of Holmes' lead.
'It was a great day. The key was getting off to a fast start,' said Palmer. 'I birdied three and when I get under par early, it gets my momentum going. I drove the ball great again. I'm back to my old putter and making some putts. When you drive the ball good and make some putts, you're going to compete.'
Rory Sabbatini was the other player to fire a 7-under 64 Saturday. That helped him move to 11-under-par 202 where he stands in a tie for eighth place with Scott Verplank (67). Jonathan Byrd and Steve Lowery are one stroke further back.