HOUSTON (AP) -- Late in the first quarter against San Antonio, Yao Ming was already exhausted.
He focused on simple thoughts to keep going and ended up with his best game of the young season.
Yao had 28 points and 13 rebounds to help the Houston Rockets snap a four-game, home-court losing streak to San Antonio with a 89-81 win over the Spurs on Tuesday night.
After playing 38 minutes in Dallas on Monday, Yao often struggled to catch his breath against the Spurs. The Rockets led 64-56 after three quarters and Yao started the fourth, trying to put his fatigue out of his mind.
"I don't have time to think about that," Yao said. "I'm just telling myself, pick up my leg and run to the next step."
Yao scored seven points and grabbed two rebounds in the final quarter. He flipped in two shots over Tim Duncan, then hit two free throws in the final 2:37 to keep the Rockets in control.
"Every year, Yao is getting better," said Duncan. "The Rockets showed their confidence in him, when they go through him at the end of the game like they did tonight. He made some big shots and was tough to stop."
Yao hit 12 of 24 shots and also had six assists, his most complete game under new coach Rick Adelman. He's reached 20 points and 10 rebounds in three of Houston's four games.
Bonzi Wells added 14 points and 15 rebounds for Houston, which controlled Duncan and outrebounded the sluggish Spurs 55-28. Duncan scored 14 and grabbed 10 rebounds, but went only 5-for-15 from the field.
The Rockets had a 25-4 edge in offensive rebounds and took 17 more shots than the Spurs.
"That's about how hungry we were to win the game," Yao said.
Tracy McGrady struggled with his shooting, too, going 4-of-14 and scoring only 12. McGrady had nine rebounds and dished out six of the Rockets' season-high 25 assists. McGrady was treating a huge blister on the bottom of his right foot after the game.
Manu Ginobili scored 23 and Tony Parker added 21 for the Spurs. Beyond Duncan, no other Spur had more than six rebounds.
"It was a huge advantage that we gave up," Ginobili said. "It's pretty hard to win like that."
The Rockets built a 45-32 lead in the first half, frustrating Duncan and outrebounding San Antonio 35-15. Guarded well by the 7-foot-6 Yao for most of the half, Duncan missed 8 of 9 shots.
Yao only matched up with Duncan after Chuck Hayes got cut over his right eye a minute into the game and backup forward Luis Scola picked up three quick fouls.
The Rockets took an 18-11 lead when 41-year-old Dikembe Mutombo drove down the lane for an unlikely dunk.
Hayes got six stitches and returned with a bandage over his eye, but the Spurs finished the first quarter with an 8-0 run.
Houston missed 25 of its first 37 shots, then finished the half with a 9-0 run. The Spurs' halftime point total was only four better than the franchise record low for a first half (28), set in Houston in 2005.
With the 6-6 Hayes guarding him again to start the third quarter, Duncan dropped in a hook shot and sank two free throws as San Antonio pulled to within seven. Yao kept Houston ahead, dropping in soft jumpers or drawing fouls and sinking free throws.
"I have always admired his game since he came into the league," Ginobili said of Yao. "He's an unbelievable player. He can do everything. He was inspired tonight."
The Rockets led 61-52 when Yao went to the bench for a rest with 1:56 left in the third quarter. McGrady, shadowed all night by defensive specialist Bruce Bowen, hit a 3-pointer in last minute of the quarter to put Houston up 64-55.
Yao was back at the start of the fourth quarter and the Rockets stayed in control. Luther Head shot an airball from 3-point range, but Yao caught it underneath and dunked with 8:48 remaining for a 72-61 lead.
Ginobili intercepted a pass and drove for a dunk over Yao with 4:31 left to cut Houston's lead to 77-68. Brent Barry scored on San Antonio's next possession, but Mike James sank a pull-up jumper with 3:28 left to restore the 9-point lead.
Ginobili picked off another pass near the 3-minute mark and Ginobili sank two free throws. Yao answered with consecutive turnarounds over Duncan. He added two free throws on the Rockets' next trip down the floor.
Shane Battier put the game away with a 3-pointer with 1:05 remaining to put the Rockets up 87-75.
The Rockets went 9-for-21 from 3-point range (43 percent). ... Former Rocket Robert Horry was on the Spurs inactive list. ... Wells earned his 29th career double-double. ... Duncan has double-doubles in three of four games this season.