Suns 114, Trail Blazers 87: Marcin Gortat had 22 points and seven rebounds while Markieff Morris scored 19 points as host Phoenix halted its three-game losing streak.
Jermaine O'Neal scored 17 points off the bench and Goran Dragic added 15 and eight assists for the Suns, who have won 11 of their last 13 home meetings with the Trail Blazers.
Rookie Damian Lillard scored a game-high 24 points while Nicolas Batum and Wesley Matthews contributed 13 apiece for Portland, which had its three-game winning streak snapped.
Ahead by two, Phoenix went on a 9-0 run to grab a 45-34 lead with 5:43 remaining in the second quarter. The Suns opened the third with a 10-2 burst to increase their advantage to 21 points with 9:44 to play in the period.
Portland got within 91-78 with 9:09 left in the fourth, but Phoenix scored 16 of the next 18 points to put away the game. O'Neal had eight points during the spurt and 10 overall in the quarter.
GAME NOTEBOOK: Phoenix had six players score in double figures, while all five starters for Portland reached the plateau. ... Dragic reached double figures for the 12th time in as many games this season, scoring 12 of his 15 points in the third quarter. ... The Suns missed only three of their 18 free-throw attempts.