PHOENIX -- The Denver Nuggets have the best record in the Western Conference; the Phoenix Suns have the worst.
On top of that, the Suns were without scoring leader Devin Booker.
But the mismatch that was supposed to happen Saturday night never did. Quite the opposite, as the Suns took the lead in the first quarter and never faltered in a 102-93 victory.
"That team outplayed us tonight," Nuggets coach Michael Malone said. "They played harder than us tonight, and it was apparent throughout the game."
Kelly Oubre Jr. matched his career high with 26 points and tied his career best with 11 rebounds for Phoenix. Deandre Ayton added 23 points and 13 rebounds for the Suns, who have won two of three with Booker sidelined with back spasms.
"We were the aggressors today," Ayton said. "That's the main part of it."
Nikola Jokic had 21 points and 10 rebounds for the Nuggets. Malik Beasley scored 20 points.
"I think we just thought it was going to be easy," Jokic said. "...I think we played their record, not their personnel. Those guys are playing hard right now."
Denver fell to just a half-game ahead of Golden State for best record in the West.
It might have been Phoenix's best defensive effort of the season.
"What impressed me the most is just how long we did it," the Suns' Josh Jackson said. "We did it for literally the whole game. Like, I can't remember one point in time when I looked up and I felt like we were playing bad defense."
Coach Igor Kokoskov said it's one thing to have a good game plan, and another to execute it.
"From the game plan, to the film, to the court, there's a long, long way," he said. "Players play the game and win a game, so that's what it is. We showed up and played well."
The Suns took the lead for good late in the first quarter and were up by as many as 16 in the second and 18 in the third. Denver never got closer than seven points in the fourth quarter.
Troy Daniels and Oubre sank 3s in a 10-0 Phoenix run late in the first quarter to put the Suns up for good 30-20. The run reached 19-6 when Elie Okobo's two free throws made it 39-26 with 9:38 left in the half. Oubre's 3-pointer with 3:55 lead left gave Phoenix its biggest lead of the half, 55-39, and the Suns led at the break 60-47.
Phoenix took its biggest lead at 68-50 early in the third quarter before Denver rallied to get to single digits. Jokic made one of two free throws to cut it to 74-66 with 2:57 left in the third but Oubre banked in a 3 at the third-quarter buzzer to put the Suns up 81-69 entering the fourth.
Okobo opened the final quarter with a 20-footer and T.J. Warren's 3-pointer put the Suns ahead 91-76 with 7:13 to play.
A 9-0 run, capped by Jamal Murray's 3-pointer, cut the Phoenix lead to 93-86 with 4:24 left. But Richaun Holmes made a short jumper in the lane and De'Anthony Melton sank two from the foul line to boost it to 97-86 with 3:11 remaining. The Nuggets never got closer than eight after that.
Denver shot 39 percent and committed 17 turnovers, resulting in 26 Suns points.
Nuggets: Will Barton, out since Oct. 20 after undergoing hip and core muscle surgery, played 16 minutes, scoring six points on 2-of-10 shooting. ... Gary Harris missed a third straight game with left hamstring tightness. ... Murray shot 4 of 17.
Suns: Phoenix is 3-10 without Booker this season. ... Jamal Crawford missed the game for personal reasons. ... Ayton had his 26th double-double and 10th in the last 15 games.
Oubre, who also scored 26 in the Suns' win over Sacramento on Tuesday night, came to Phoenix last month in the trade that sent Trevor Ariza to Washington. He's made a quick impact with his energy, quickness and scoring, and quickly became a fan favorite.
"I'm just trying to get better as the team gets better," he said. "I'm still trying to get acclimated within the system. But obviously I'm a player, too. I'm a really good player and I just try to go out there and play within the system."
Nuggets: host Portland on Sunday
Suns: at Indiana on Tuesday.