Goran Dragic scored 21 points, making 4 of 5 3-pointers along the way, to lead seven Phoenix players in double figures and the Suns snapped Denver's four-game winning streak 110-100 on Monday night.
The Suns had lost six straight to Denver since they last beat the Nuggets on Nov. 15, 2010.
"We've obviously struggled with that team over the past couple of years," Phoenix coach Alvin Gentry said, "so to be able to get a win against them and be able to get a home was important. We had a lot of guys that stepped up."
Shannon Brown added 19 points, Michael Beasley 16 and Jared Dudley 15 for Phoenix. Markieff Morris added 13 points and had a crucial steal down the stretch. Marcin Gortat and Luis Scola added 12 points apiece for the Suns, who finished the game with a 13-4 run.
Andre Iguodala scored 17 for Denver. JaVale McGee added 16, pretty much all of them on thundering dunks, and Danilo Gallinari scored 15 for the Nuggets. Kenneth Faried scored 14 on 6-of-7 shooting but didn't take a shot in the second half.
Denver outshot Phoenix 54 percent to 46 percent but committed 15 turnovers, resulting in 17 points, while the Nuggets scored nine points off the Suns' six turnovers. Phoenix also prevailed at the foul line, going 17 of 21 to Denver's 11 of 18.
"They just did a good job of picking us apart on defense," Iguodala said. "We really couldn't get any stops. They had a couple of guys that just had it going. Defensively we've been a lot better the last four games and tonight we just had some mental lapses and coverages. We were too lax in letting them get wherever they wanted to go and we didn't disrupt them enough."
Phoenix even hung on the boards with the Nuggets, the NBA's leading rebound team. Denver outrebounded Phoenix 43-40 though the Suns had a 15-8 advantage on the offensive boards.
"That was the key to the game tonight," Dragic said. "Coach was telling us that in the (pregame) meeting -- all five players, don't matter if you're a small guy, you have to go in there and get the rebound."
Dragic's 3-pointer from the top of the key put Phoenix ahead 100-96 with 3:14 to play. Ty Lawson's two free throws cut it to 100-98 just 14 seconds later, then Morris made two from the line and stole the ball from Lawson, leading to Brown's fastbreak layup that made it 104-98 with 2:31 remaining.
Faried was called for traveling, then Dragic hit a 19-footer and the Suns led 106-98 with 1:38 to go. After Andre Miller made one of two free throws to close it to 106-100 with 1:19 left, the Suns put it away with baskets by Brown and Gortat.
"We had three turnovers after we cut it to one in the fourth quarter," Denver coach George Karl said. "You can't take away your possessions by making mistakes. Fundamental things that we usually win -- we win offensive boards and they kicked us on the offensive boards, we usually create a lot of points off our defensive hands and they converted our turnovers into more points than we did."
The Nuggets outshot the Suns 56 percent to 40 percent in the first half but led only 57-54 at the break. Phoenix stayed close by making 13 of 15 free throws in the first two quarters to Denver's 5 of 10.
Denver led most of the third quarter and was ahead 76-71 when McGee dunked with just under 4 minutes left in the period. But Phoenix outscored the visitors 12-2 the rest of the quarter. Dudley and Beasley each hit a 3 during the run, then Dragic's 8-footer gave the Suns an 83-78 lead entering the fourth.
The Nuggets cut the lead to three early in the fourth quarter before Brown's inside basket and Gortat's dunk on a lob from Dragic made it 91-84 with 9:17 to play.
Gallinari's driving layup over Morris cut the Phoenix lead to 97-96 with 3:58 remaining, leading Gentry to call a timeout, and the Suns pulled away from there.
After playing Miami at home on Thursday, the Nuggets play their next three on the road. ... Phoenix improved to 3-1 at home. ... Denver lost its first three games of the season, all on the road, but had won its last two away from home. ... Dragic is the only Suns player to score in double figures in every game this season. .... Phoenix's Sebastian Telfair was initially called for a flagrant foul on Faried in the fourth quarter but it was overturned and called only a foul after officials reviewed the video.
The Phoenix Suns selected Croatian forward Dragan Bender with the No. 4 overall pick of the 2016 NBA draft on Thursday night.
With the second pick in the NBA draft, the Lakers take Brandon Ingram.
The Boston Celtics selected California forward Jaylen Brown with the No. 3 overall pick of the 2016 NBA draft on Thursday night.