Parker also had eight assists and Michael Finley added 17 points for the Spurs, who came up with two defensive stops in the final 15 seconds to beat the Rockets for the 12th time in the last 17 meetings.
The Spurs moved 2 1/2 games ahead of Houston for the No. 2 seed in the Western Conference.
"Overall, that was a big win for us," Parker said. "Definitely a playoff atmosphere, playoff intensity. We're battling to try to keep that second place and I think it's huge for us to have that home-court advantage, at least until the conference finals."
While San Antonio can confidently talk about making the NBA's final four, Houston hasn't been past the first round since 1997. The Rockets finished off Charlotte on Friday night, but say they'll learn more from watching the way San Antonio closed out this one.
"That's a good lesson for us," Yao said. "We know we cannot make any mistakes in the playoffs. It's just that last couple of possessions of the game. We didn't execute, and that is the difference between the great teams and the good teams. We still need to improve that."
Duncan and Parker scored the Spurs' final 15 points -- and Duncan had assists on Parker's last three field goals. Parker said he figured out Houston's defensive strategy in the final quarter, told Duncan on the court and the All-Star duo instantly made the adjustment on the fly.
"They were pressuring me, and I told TD, 'Take a look on the back door," Parker said. "We just talked about it real quick. It was something that I saw and so we did it on the fly."
Duncan hit a bank shot from the wing and dished an assist to Parker for a layup to put San Antonio up 81-77 entering the final 3 minutes. Artest missed two long jumpers before Parker drove for a layup, got fouled by Luis Scola and hit the free throw with 2:45 left.
Yao hit a hook shot over Duncan and Aaron Brooks drove past Parker for a layup to cut Houston's deficit to three. San Antonio led 86-83 when Yao dunked home an offensive rebound with 43.6 seconds left.
The Rockets got the ball back after Parker missed a jumper. But Aaron Brooks drove too far under the basket and missed a layup, Duncan rebounded and Parker sank two free throws with 14.5 seconds left to put the Spurs up 88-85.
San Antonio's defense handled the rest.
Artest missed a 3-point try off the front of the rim, Parker grabbed it, but got tied up with Shane Battier to set up a jump ball. Battier tipped it to Artest, who called time out with 4.2 seconds left. Brooks missed a 3-point try just before the buzzer.
The Rockets went 7-for-17 from 3-point range, but 0-for-3 in the fourth quarter.
"They've been playing a lot of years together," said Scola, who scored 10 points. "They've been winning championships. They just know how to play."
Both teams shot well in the first quarter and the lead changed hands 11 times. Early in the second quarter, Roger Mason Jr. sank a 3-pointer and Matt Bonner flipped in a hook shot to put San Antonio up 31-26.
The starters on both sides were back on the floor by the 4-minute mark, and Parker's free throws with 1.8 seconds left in the half gave the Spurs a 44-37 lead the break. Parker scored 13 points in the first half.
Houston went 5-for-17 from the field in the second quarter and mustered only 15 points.
The Rockets forced the ball into Yao early in the third quarter, but one entry pass bounced out of bounds and the Spurs stole the other. And with Yao guarding the lane close to the basket, Duncan made two shots from the top of the key to push San Antonio's lead to 55-44.
Houston then mounted a 17-2 run as the Spurs missed 9 of 10 shots. But Finley banked in a 3-pointer from half-court just ahead of the third quarter buzzer to put San Antonio ahead 64-63.
"That was a big shot, because we were struggling in the third quarter," Parker said. "Everybody was missing shots. That shot was huge. It gave us a little momentum."
The Spurs improved to 35-4 when they lead after three quarters. ... Brooks scored 18 points for the Rockets, but went 7-for-18 from the field. ... Duncan's first basket gave him 19,000 career points. ... Gregg Popovich coached his 999th career game on Saturday night. He'll become the 24th coach in NBA history to reach 1,000 when the Spurs play in Oklahoma City on Monday. Popovich will be the seventh man to coach his first 1,000 games with one team.
Bronny throws down two emphatic dunks
Bronny James takes off for two high-flying slams in Sierra Canyon's game.
Fantasy hoops: Forecaster for the week of Dec. 6 to Dec. 12
Here is everything you need to prepare your fantasy hoops rosters for the week ahead, including matchup previews, schedule analysis and more.
Fantasy hoops: Start or sit rankings
Setting your lineup for the week ahead? Trying to pick one streamer over another? Our weekly projections and rankings will give you the edge for Dec. 6 to Dec. 12.