Tony Parker scored 27 points in Spurs' 110-98 win Wednesday night, their ninth straight victory.
Parker had 13 points in the opening quarter, shaking the Spurs out of a lethargic start and catapulting them to their 19th victory in 23 games.
"He played a really great floor game," San Antonio coach Gregg Popovich said. "He showed really good patience in distributing the ball, looking for his shots, going to the bucket. He was tough for them to guard tonight."
The Spurs moved within a half-game of the Southwest Division lead shared by Houston and Memphis.
San Antonio will face Houston on Friday night in the closing game of a home-and-home set. The Spurs have three games remaining in the regular season and the Rockets have four.
"We've just got to play our basketball," Houston's MVP candidate James Harden said. "Not worry about what's going on in the standings and things like that; just focus on ourselves and we'll be all right."
The Rockets had won three straight and 10 of 12 entering Wednesday.
The Spurs led by as many as 22 points after a slow start.
"Give them credit, they took us out of our game and we couldn't sustain anything in the second half," Rockets coach Kevin McHale said.
After Parker made the team's first two field goal attempts, San Antonio missed its next five shots. Dwight Howard had five rebounds in the opening four minutes, shutting down any second chances for the Spurs. Parker would score San Antonio's first nine points.
Parker was listed as questionable after playing just 16 minutes on Tuesday at Oklahoma City due to tightness in his right Achilles tendon. He showed no signs of inflammation on Wednesday, streaking into the paint for his usual floaters and layups.
"I was mad from yesterday," Parker said. "I didn't play a lot, so I felt I had a lot of juice. For a back to back, I felt I had to be aggressive, tried to carry the team."
San Antonio closed the first quarter on an 8-0 run with Manu Ginobili and Boris Diaw hitting bookend 3-pointers to cut Houston's lead to 33-32.
"We gave up three 3s late in that first quarter and kind of got them going a little bit, especially from the 3-point line," Harden said. "But they are a tough team, especially when they get it going. They get in the paint, they get open 3s and their offense starts flowing."
Kawhi Leonard added 20 points, Boris Diaw had 15 points and Manu Ginobili 13 for San Antonio.
Jason Terry led Houston with 22 points and Trevor Ariza added 19. Harden had 16 points, but only three after the first quarter.
"We gave up on stuff," McHale said. "We had back cuts against us. We did not go out and execute our game plan very well. We had guys with 'my bads,' on the wrong side of picks and just a lot of mistakes. You can get away with mistakes against some teams, but against (the Spurs), they will make you pay."
San Antonio closed the first half on a 16-4 run, attacking the paint with Howard sitting out all but 2 seconds in the final 5 1/2 minutes.
Howard played just 22 minutes as Houston continued to limit his playing time since returning March 25 from a 22-game absence due to a right knee problem. He finished with 16 points and 11 rebounds.
The dominance continued in the second half with Houston scoring just two points over five minutes beginning midway through the third quarter. San Antonio built a 79-62 lead as Houston's drought began as Howard exited, and ended shortly before he returned to the court.
"Cory's defense was great," Popovich said. "I think (he and Aron Baynes) were the key to the game."
Rockets: Houston F Donatas Motiejunas (lower back pain) and Kostas Papanikolaou (sprained right ankle) did not play. Papanikolaou was listed as questionable entering the contest.
Spurs: San Antonio C Tiago Splitter (tightness right calf) missed his third straight game. G Marco Belinelli (tightness, left groin) was a late scratch. ... Rookie F Kyle Anderson was recalled from San Antonio's Development League team in Austin.
Popovich was jokingly asked if he has an unwritten rule that the Spurs are not allowed to score 30 points individually. The Spurs coach has pulled his players early in the fourth quarter on numerous occasions this season, particularly Leonard.
"That's cause I'm a jerk," Popovich said dryly. "I don't want anybody getting a big head, so we just pull them out. 'What do you need to get 30 for?' Selfish! (It was) just one game, boys and girls, just one game."
Rockets: Host San Antonio on Friday night.
Spurs: Visit Houston on Friday night.