CHARLOTTE, N.C. -- Yao Ming hit the 3-pointer that stunned the crowd and his teammates. It was Ron Artest who bailed out the Houston Rockets from a late collapse.
Artest made the go-ahead jumper and had the key defensive play Friday night as the Rockets were able to celebrate the 7-foot-6 Yao's rare long-range shot in a wild 91-86 victory over the Charlotte Bobcats.
"Just very fortunate," a relieved Rockets coach Rick Adelman said. "Very fortunate to get that win. We had it in control and we made three straight mistakes."
After the Rockets blew a six-point lead with just over two minutes left, Artest drilled a jumper with 22 seconds left to put Houston ahead. Leading by three with 7 seconds left, Artest blocked Vladimir Radmanovic's tying 3-point attempt, picked up the ball and raced in for a layup to give the Rockets momentum heading into Saturday's Western Conference showdown with San Antonio.
"I wanted the ball," said Artest, who was 4-for-11 before that decisive shot. "I always want the ball in the end."
Yao had 23 points, Luis Scola added 15 and Artest scored 10 for the Rockets, who appeared to have the game in hand when Yao drilled a straightaway 3-pointer -- the second of his career -- with 2:12 left to put Houston ahead 83-77.
"When the shooting clock runs down to 1 second, what do you do?" Yao said.
Gerald Wallace scored 17 points and Raja Bell added 16 for the cold-shooting Bobcats, who have lost two straight following their team-record, six-game winning streak.
"I think we played the way we were playing when we went on that six-game streak," said guard Raymond Felton, who had 12 points on 6-for-19 shooting. "The ball just wouldn't fall in the basket for us."
The rare sight of Yao hitting a 3-pointer was the top moment until the frantic finish.
It was the first attempt of the season and his second make in 10 attempts in his seven-year career -- the last coming as a rookie in 2002-03. Yao jumped in the air and pumped his fist, while Houston's bench celebrated.
"I've been telling him all year I'm going to set up a play to shoot a 3," Adelman said. "I guess I'll take credit for that one."
But the Bobcats weren't finished.
Bell, who started 2-for-12 from the field, hit a jumper and a 3-pointer to get Charlotte within 85-82. After Aaron Brooks' turnover in the backcourt led to Boris Diaw's layup, Yao was called for an illegal screen.
Yao blocked Emeka Okafor at the other end, but Bell picked up the loose ball and buried a jumper in the lane to put the Bobcats ahead 86-85 with 34 seconds left.
Artest then caught a break when Wallace fell down guarding him. Left open, Artest hit the jumper from the top of the key.
Bell missed a long-range jumper at the other end, and Brooks hit two free throws with 7.2 seconds left before Artest came in from behind and swiped the ball away as Radmanovic released the shot.
"I mean if they wanted to call a foul, they could have called a foul," Artest said. "If it was Kobe (Bryant), maybe. But it was not a foul."
Charlotte, which lost to the Spurs on Tuesday, took a damaging loss as it tries to secure eighth place in the Eastern Conference and the first playoff berth in team history.
The Bobcats got little from their top players, with Bell 6-of-18 from the field and Okafor 3-for-11. The Bobcats shot 35 percent in the second half.
"Tough one to take," Bobcats coach Larry Brown said.
The Rockets shot 51 percent as they got Yao more looks. Two nights after he took just three second-half shots in a loss to the Los Angeles Lakers that ended their 12-game home winning streak, Yao had 12 points on 5-of-6 shooting in the first half and dominated Okafor, who was scoreless and 0-for-2 from the field.
Yao finished 9-of-11 from the field with eight rebounds and three blocks -- and 1-of-1 shooting from 3-point range.
But Yao isn't ready to add that shot to his repertoire.
"Not really," he said. "I think I'm good in the post."
Felton, who becomes a restricted free agent this summer, said he wants to stay in Charlotte. "No question," Felton said. "I love this team." ... Bobcats C DeSagana Diop shot an airball on his first free throw, then made the second to improve to 4-of-20 since joining Charlotte. ... The Rockets signed G James White to a second 10-day contract even though he hasn't played. "We've got to get to see him and see whether it's somebody we want to keep for the rest of the year," Adelman said. ... Bobcats G Dontell Jefferson, signed to a 10-day contract Wednesday, was inactive.