PHOENIX -- Roger Mason didn't play at all in the fourth quarter until there were 4.3 seconds left. Then he came in and made the biggest shot of the game.
"As a shooter, you're always prepared," Mason said. "Coach put me in in that situation, and I knew if I had it, I was going to shoot it."
The Suns had taken the lead on Grant Hill's layup on an out-of-bounds play with 4.3 seconds to go.
"As I beat Grant Hill, Jason Richardson came in," Parker said. "Roger was wide open, and that's his shot. He's been knocking them down all season, so I trusted him."
Parker scored 27 and Tim Duncan had 25 points and 17 rebounds as the Spurs won their fourth straight. Amare Stoudemire had 25 points and 13 rebounds and Shaquille O'Neal 23 points and 12 boards for the Suns, who led most of the afternoon but never by more than eight in the second half.
Despite foul trouble, Duncan stopped Stoudemire on three straight late drives to the basket.
"I thought Timmy down the stretch was absolutely spectacular," Spurs coach Gregg Popovich said. "With five fouls, the defense he played down low when they were going at him -- making the stop, getting the rebound and getting it out -- I thought he was just magnificent."
Duncan knew the Suns would go after him "no matter who I was guarding, whether it was Shaq or Amare."
"They chose Amare," Duncan said. "I was physical with him. I didn't back down or change my defense in any way."
Hill added 16 for the Suns, the last two coming on the same play Phoenix used to beat Orlando this season. After a timeout, he inbounded to Stoudemire, than ran to the baseline and toward the basket, where Stoudemire found him for the uncontested layup.
But the Spurs had the last shot. When Parker drove toward the basket, Richardson came in to help on defense. That left Mason, a 48 percent 3-point shooter who hadn't scored since the second quarter, alone for the winner, sending San Antonio to its 10th win in its last 12 games.
"We just had a breakdown," Phoenix coach Terry Porter said. "I mean, Grant did a good job on guarding the guy, the guy in the corner [Richardson] got suckered in too much and allowed Mason to get some space. Give Tony Parker some credit. He found him and Mason hit a wide-open shot."
O'Neal was 9-of-16 at the foul line to become the only player other than Wilt Chamberlain to miss 5,000 career free throws.
Steve Nash had 13 points. His eight assists made him the 13th NBA player to reach 7,000 for his career. Porter is among the other 12.
It was the kind of tight game that has become typical between the two teams.
"We played good enough to win," Stoudemire said. "Every time we play the Spurs some type of big shot ends up happening."
Stoudemire's three-point play to start the fourth quarter put the Suns ahead 79-71. But the Spurs stayed close and Parker scored twice, on a layup and 18-footer, to give San Antonio its biggest lead, 88-84, with 3:27 to go. Phoenix led nearly all the game but never by more than eight in the second half.
Richardson's 3-pointer from the corner cut to 88-87 with 3:07 to go then, after a flurry of missed shots, Parker was called for a technical and Nash's free throw tied it at 88-88 with 1:01 remaining.
The Suns hit their first five shots to go up 11-0 on O'Neal's dunk and led 23-10 after Richardson made one of two free throws. But the Spurs scored the next eight, then started the second quarter with a 9-2 run to cut the lead to 29-27 on Duncan's baseline hook with 8:02 left in the half.
O'Neal scored the first six points, capped by a nifty spin move in the lane, in a 10-2 Phoenix run that boosted the lead to 41-31 on Hill's layup on a pass from Matt Barnes 3:35 before the break. The Suns led 45-39 at the half.
San Antonio took its first lead with a 9-2 run, Duncan's 21-footer putting the Spurs up 54-52 with 6 1/2 minutes left in the third quarter. Phoenix scored the next seven.
Popovich employed the "hack-a-Shaq" strategy in the last minute of the third quarter, but O'Neal made 5-of-6 at the line to put the Suns ahead 76-71 entering the fourth.
Chamberlain missed 5,805 free throws. ... O'Neal played on Christmas Day for the 11th time. ... The Suns had won five straight at home. ... The Spurs bench outscored the Suns' 15-2.