Steve Nash had 25 points and 17 assists -- with just one turnover -- and the Suns held on for a 114-109 victory on Wednesday night.
"That was about as aggressive as I've seen Steve offensively," Suns coach Alvin Gentry said, "and we really needed that. I think he understood that."
But the Suns failed to gain any ground against Dallas for the eighth and final playoff spot in the West because the Mavericks beat Miami 98-96.
Phoenix snapped a three-game losing streak overall to remain four games behind Dallas with just seven to play.
"We're not eliminated yet," Richardson said. "We're going to continue to play and we still believe we have a chance."
Gentry called it Game 1 of an eight-game season.
"We're 1-0 in our season," he said. "We're trying to become the first team to go undefeated in the season. Whatever Dallas does is what Dallas does. It doesn't matter to us."
Phoenix plays at Dallas on Sunday.
"We had a great performance from a lot of guys," Nash said. "We wanted it, we worked hard for it and we deserved it tonight -- a lot more spirit about us than Sunday in Sacramento."
Ron Artest scored 28 for the Rockets, who dropped to fourth in the crowded scramble for playoff positioning in the West, a game behind No. 2 Denver and a half-game behind San Antonio. Yao Ming, in a rugged matchup with O'Neal, had 20 points and 14 rebounds.
"I wouldn't call it physical," O'Neal said. "It's just two big trees leaning on each other and going at it. It was a well-officiated game when it came to me and him. That's how the game should be officiated. You should let two big guys rumble and scratch and do all that stuff."
Shane Battier added 18 points for Houston.
The Suns led by as many as 13 in the first half and were up 67-56 at the break.
Artest scored 10 in a 15-3 surge that gave the Rockets a 77-73 lead on his 19-footer with 6:20 left in the third quarter. Neither team led by more than three the rest of the quarter and it was 88-all entering the fourth.
Houston outscored the Suns 8-1 to start the final quarter to go up 96-91 on consecutive jumpers by Von Wafer.
Artest banked in 3 to cut it to 106-101, then Nash sank a 3 seconds later to make it 109-101. O'Neal and Barnes each missed a pair of free throws to allow Houston to cut it to 111-109 on Wafer's driving layup with 21 seconds to go. But Barnes made two free throws with 18 left to clinch it.
"You've got to give them credit for the win," Artest said. "You've got to give them credit for hanging in there with all these challenges and so much adversity with Amare [Stoudemire] being out."
Phoenix shot 80 percent in the first quarter (16-for-20) but led only 33-30 after Houston's Kyle Lowry made a 3-pointer at the buzzer.
The Rockets took a 41-39 lead on consecutive 3s by Wafer and Brent Barry with 8:40 left in the half, but the Suns responded with a 16-4 run to go ahead 55-45 on Richardson's 3-pointer with 3:37 remaining.
Hill's fast-break dunk on a pass from Nash gave Phoenix its biggest lead of the half, 67-54.
"We did everything we talked about not doing," Rockets coach Rick Adelman said. "We allowed them to run the court, if they missed they got the offensive boards back, they had 30-something points in the paint. It was all the stuff we talked about that you can't allow them to do."
Phoenix outrebounded Houston 26-11 in the first half. ... The Suns' Leandro Barbosa could return Friday night against Sacramento after missing seven games with a strained knee. ... Houston is 16-6 since Tracy McGrady underwent season-ending knee surgery.