Roy scored a career-high 52 points, including a tiebreaking 3-pointer with 1:01 left, in Portland's 124-119 comeback victory over Thursday night.
"I think this is by far the best offensive game I've had," Roy said. "I can't say the basket was big, but my confidence was huge tonight. I just felt like every shot I took was going to go in."
Roy was 14-of-27 from the field and 19-of-21 at the line. He topped his career high of 38 set last Friday night in a double-overtime loss to the Los Angeles Clippers, and ended up two points short of the franchise record of 54 set by Damon Stoudamire against New Orleans on Jan. 14, 2005.
"It really felt like a quiet 52 points. He was just knocking down shots," Portland coach Nate McMillan said. "You almost expect him to do this night after night."
The 6-foot-6 guard, averaging 36.4 points in his last five games, was serenaded with chants of "M-V-P! M-V-P!" from the Rose Garden crowd.
"My No. 1 goal is to win. Not to be the MVP. Not to be the All-Star," said Roy, who kept the game ball as a souvenir.
Blazers guard Steve Blake matched his season high with 22 points and added 10 assists, and LaMarcus Aldridge scored 10 of his 16 points in the first quarter to help Portland improve to 17-10. With the victory, Portland ended an 11-game losing streak to Phoenix dating to March 12, 2006.
Phoenix shot 56.9 percent from the field, and the Suns were even better from 3-point range, hitting 12 of 18. The Blazers weren't far behind, shooting 51.7 percent from the field, and hitting 11 3-pointers.
Barnes and Leandro Barbosa combined to score the Suns' first 18 points of the second quarter to put Phoenix in front 48-38.
A few minutes later, Portland nearly pulled even as Blake hit four consecutive jumpers, including two 3-pointers. But O'Neal, who scored 17 points in the first half, finished the quarter with a three-point play to give Phoenix a 66-59 halftime lead.
Portland used a 39-point third quarter to take a 98-93 lead. Roy scored 14 consecutive points for Portland, triggering a spurt where the Blazers outscored Phoenix 26-9 during the final 6 minutes of the quarter.
The Blazers scored the final seven points. Aldridge hit a difficult bank shot with 1:26 left to tie it at 119, then Roy put Portland ahead for good with a 3-pointer with 1:01 remaining.
"We gave another game away," Phoenix center Shaquille O'Neal said. "We're not getting loose balls, and you can't have 16 turnovers. And you've got to stop somebody. You can't let a guy go for 52. It was not acceptable."
Portland forward Ike Diogu moved into the Blazers' regular 10-man rotation, replacing Channing Frye. Diogu played only 36 minutes in Portland's first 26 games. ... The Blazers lead the NBA in rebounding margin at plus 5.8 per game. ... Phoenix scored 66 points in the first half, a season high for a Portland opponent this season. ... Stoudemire has scored more than 20 points in nine consecutive games. ... Roy had career highs for free throws (19) and attempts (21). The 52-point game was the fifth 50-point performance in Portland's 38-year history.
Detroit Pistons guard Darrun Hilliard will not participate in summer league because of a stress fracture of his lower back.
The Milwaukee Bucks have added a year to general manager John Hammond's contract, which keeps him in his role through 2017-18, according to multiple reports.
The NBA and the Charlotte Hornets expressed doubt Thursday that possible changes to House Bill 2, a law limiting protections for LGBT people, would go far enough.