The Blazers, one of the NBA's worst shooting teams, shot 64 percent in the first half and led by as many as 17 to win their third straight over Phoenix, the team that knocked them out of the playoffs last season.
LaMarcus Aldridge had 23 points and Wesley Matthews scored 14 of his 16 in the first half as Portland put Phoenix in a double-digit deficit in its fourth straight home game.
The Suns didn't defend or shoot well, digging too big of a hole to prevent their third straight loss. Steve Nash had 24 points, Grant Hill added 17 and Hakim Warrick had 14.
Portland was coming off a three-game homestand that included wins over the Clippers, Suns and, most impressive, Orlando on Thursday night.
The road has been giving the Trail 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 Trail 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.
The French forward scored 12 points and missed all six of his 3-point attempts in the first three quarters of the two games, but was a combined 5 of 7 from beyond the arc while scoring 19 combined points in the final 12 minutes of both.
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 Matthews' 14 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 points in the first 4½ minutes. The Blazers kept firing and hitting, preventing Phoenix from making any kind of comeback.
Even the shots that didn't count went in; Roy cast up a long 3-pointer after being grabbed by Hill and it banked in late in the third quarter.
Phoenix got almost no production from leading scorer Jason Richardson for the third straight game. He had eight points and is 6 for 28 — missing all 12 of his 3-pointers — while combining for one point less in three games than his 19.7 average.
NOTES: 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.