Steve Nash had 23 points, including a 3-pointer that put Phoenix ahead for good with 1:11 to play, and handed out 13 assists, directing the Suns to a 115-111 victory over the Portland Trail Blazers on Friday night.

Grant Hill, back after missing two games with a sprained knee, scored 21 for the Suns, who have won consecutive games for the first time since Dec. 5.

Andre Miller scored all 19 of his points in the second half for the Trail Blazers in the last of four games between the teams this season. Portland won the first three.

Six players, including all five starters, reached double figures for Phoenix.

Wesley Matthews scored 26 and LaMarcus Aldridge 25 for the Blazers. Nicolas Batum added 18.

The 38-year-old Hill became the 14th active player to reach 16,000 points. He had appeared in 70 consecutive regular-season games before he was sidelined with the minor knee ailment.

Vince Carter scored 17 for Phoenix and Jared Dudley 13 off the bench for the Suns, who shot 54 percent for the game, including 10 of 19 on 3-pointers.

The two straight Phoenix victories have followed an embarrassing 132-98 loss at Denver that led Suns president Lon Babby to apologize to fans.

Portland led by as many as 13 in the second quarter but Phoenix came back to cut it to 59-56 at the break and it was tight throughout the second half.

Channing Frye — who had 12 points, eight rebounds and three blocks — blocked Patrick Mills' layup attempt, then sank a 3-pointer that put the Suns ahead 96-94 with 8:05 to play. Goran Dragic's driving layup down the lane made it 98-94. Phoenix stayed ahead, but never by more than four, before Portland tied it at 108 with Batum's two free throws 1:21 from the finish.

Nash took the inbounds pass, dribbled across center court, and as he has done so many times before, let it fly from the top of the key for the game's most crucial basket.

After uncharacteristically missing two free throws in the game, Nash made two from the line to finally seal it with 4.4 seconds to go.

The Blazers shot 63 percent in the first quarter but just 37 percent in the second and finished the game at 48 percent.

Notes: Nash's string of 48 consecutive free throws ended when he missed one on a defensive 3-second technical foul against Portland with 6:37 left in the second quarter. ... The Trail Blazers last swept a season series from Phoenix by going 3-0 in the strike-shortened 1998-99 season. ... Hill made two 3s in a game for the first time since April 7. ... Phoenix's third straight home win tied a season high. ... The Blazers, who will be without star Brandon Roy indefinitely because of arthroscopic surgery next week on both knees, fell to 20-20. ... Dudley had a four-point play in the second quarter.