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.
Brooklyn Nets' Kyrie Irving to miss seventh consecutive game
Brooklyn Nets star Kyrie Irving will miss Monday night's game against the Bucks, the seventh consecutive game Irving has missed since Jan. 5.
Sources: Cleveland Cavaliers look to trade or waive Kevin Porter Jr. after outburst
The Cavs intend to cut ties with Kevin Porter Jr., either by trading or waiving the second-year player, following a screaming match with team officials, sources confirmed to ESPN.
Fantasy basketball waiver-wire finds: Goran Dragic, Shake Milton among key pickups
Here are all of the top free agents available in most leagues, broken down by position -- including several helpful point guards like Dragic and Milton.