PHOENIX -- Legs heavy, the shots clanging, Phoenix clawing its way back, the Portland Trail Blazers appeared to be in deep trouble.
Good thing they made all those shots in the first half.
Portland raced out to a big lead Friday night, withstood a late-game funk and pulled out a tough win after playing the night before, beating the Phoenix Suns 101-94 for their fourth straight victory.
Marcus Camby had 16 points and 18 rebounds, Brandon Roy added 26 points and a big jumper late, and LaMarcus Aldridge had 23 points to help Portland win its third straight over the team that knocked it out of last season's playoffs.
"We were running off fumes," Blazers coach Nate McMillan said. "They sucked it up and made enough shots late to get this game."
One of the NBA's worst-shooting teams, Portland shot 64 percent and led by as many as 17, less than 24 hours after a quality win over Orlando.
Portland rallied to beat Phoenix twice already this season, but this time it looked as though the Suns were the team that was going to pull off the comeback.
The Blazers went eight straight possessions without a field goal spanning nearly 4 1/2 minutes while Phoenix started hitting, trimming a 15-point lead down to six as the crowd roared with just over 2 minutes left.
Sensing the game getting too close, McMillan called a timeout and asked for someone to hit a shot.
Roy did, though he initially didn't want to.
Dribbling into the lane with the shot clock winding down, he was looking to pass to the corner, but Aldridge yelled for him to shoot. Roy did, knocking down an off-balance, 12-foot jumper with a hand in his face, and the Blazers hit just enough shots down the stretch to keep rolling after a six-game losing streak.
"We knew we needed just one more bucket to get them off of us," said Roy, whose aching knee felt good enough to play 40 minutes. "That was a big one for us."
The Suns didn't defend or shoot well, digging too big of a hole to prevent a third straight loss.
Phoenix fell behind by double digits in its fourth straight home game and couldn't make it all the way back this time, shooting 3 for 14 from 3-point range, including 1 of 6 in the final quarter. Steve Nash had 24 points, Grant Hill added 17 and Hakim Warrick had 14.
"The only thing that's disappointing is that we wait until we get down 15, and then we play like I want us to play at the start of the game," Suns coach Alvin Gentry said. "So we've got to take care of that in some kind of way."
Portland was coming off a three-game homestand that included wins over the Clippers, Suns and, most impressive, Orlando on Thursday.
The road has been giving the Blazers problems, though. They entered Friday's game on a four-game losing streak away from the Rose Garden and had dropped seven of eight on the road.
That didn't seem to bode well against Phoenix, which averaged 112 points while winning six of eight at home. The Suns have dominated the Blazers in the desert, too, winning 10 of 11 since Nash returned in 2004.
And these teams might already be getting sick of each other. Portland has yet to face 12 teams in the league, but has played the Suns three times in the first 23 games. The Trail Blazers won the first two, both in Portland, thanks to some late shooting by reserve Nicolas Batum.
Batum didn't light it up this time and didn't need to; everyone else was hitting.
Thanks to barely-there defense, Portland and Phoenix shot a combined 59 percent in the first quarter and the Blazers didn't cool off, hitting 23 of 36 shots in the first half to lead 61-53. Portland had four players in double figures in the first 24 minutes, led by Wesley Matthews' 14 points on 5-of-6 shooting.
Roy, who had 12 in the first half, opened the second by scoring seven straight and the Blazers extended the lead to 14 in the first 4 1/2 minutes. Portland maintained the lead well into the fourth quarter before tiring, pulling out a difficult victory despite shooting 4 of 18 in the final period.
"We were just tired, everybody had heavy legs," Roy said. "We were just happy we built that lead so that we were able to hold them off."
Phoenix might have been able to make it all the way back if Jason Richardson had been able to hit some more shots.
The Suns' leading scorer has been mired in a three-game funk, scoring one point less in those games than his 19.7 average while shooting 6 for 28 and missing all 12 of his 3-pointers. He finished with eight points and the NBA's highest-scoring team couldn't make up for his struggles, held under 100 points for the third straight game by Portland.
"It was too late tonight," said Richardson, who was 2 for 9 from the field. "We need to come out of the gate like that and set the tone from the start. Ever since I have been here that is the type of team we have been. We need to become like that this year."
Nash passed Alvin Scott for sixth on Phoenix's games played list with his 628th game. ... Former Suns guard and current Sacramento, Calif., mayor Kevin Johnson attended the game. ... Portland just missed shooting over 50 percent (49.3) for the second time this season.