BOULDER, Colo. -- This time, there was no collapse or controversy that would sting Colorado with a bitterness that was hard to shake. This time, there were fans storming the court in celebration.

Spencer Dinwiddie scored 21 points and freshman Xavier Johnson added a season-high 19 points and nine rebounds as Colorado avenged a painful overtime loss at Arizona with a 71-58 rout of the ninth-ranked Wildcats on Thursday night.

On Jan. 3, the Buffaloes' apparent game-winning 3-pointer in Tucson was waved off at the end of regulation even though replays showed Sabatino Chen's shot was taken in time. The smarting Buffaloes got smoked in overtime, then went into a prolonged funk, dropping three of their next four.

"Of course, we were disappointed in ourselves for the way we closed it out and it goes without saying that we were disappointed with the call at the end," Dinwiddie said. "Of course, this was a revenge game."

His coach would disagree, but certainly the student section that emptied onto the floor would side with Dinwiddie.

The Buffaloes (17-7, 7-5 Pac-12) have won six of seven, and this win over the Wildcats was by far their most impressive yet. They played stingy defense, moved the ball efficiently, held their own on the boards and controlled the tempo from tipoff to buzzer.

"What makes this win sweet is it has nothing to do with revenge," Colorado coach Tad Boyle said. "It has everything to do with the respect I have for Arizona and Sean Miller and their basketball program. We beat a top-10 team in the country that's legitimate and they're going to win a lot of games as this season unfolds.

"And I think if we play the way we did tonight, we will, too."

The Wildcats (20-4, 8-4) had no answer for Dinwiddie, who scored 19 points in the second half to hold Arizona at bay.

The Wildcats were cold from the floor, shooting just 42 percent overall and 5-for-19 from beyond the arc. Solomon Hill led Arizona with 12 points and Mark Lyons had 11.

"It's never as bad as it seems, and the sky isn't falling," Miller said.

The Buffaloes led 30-23 at halftime and were never seriously threatened over the final 20 minutes.

"I thought Colorado had an incredible environment. This was a big game for them," Miller said. "They're playing really well. ... This is a pivotal home game for them. They were ready to go."

Colorado started the second half with three free throws from Dinwiddie that gave the Buffaloes a double-digit lead. Dinwiddie added a dunk off a steal by Johnson and Andre Roberson's 3-pointer made it 38-23 with 17:50 left, prompting Miller to call his second timeout.

The Wildcats got back in it with consecutive 3s from Lyons and Nick Johnson, and when Grant Jerrett hit a 3-pointer from the top of the circle, the Wildcats had chipped the lead down to 45-39 with 10:43 remaining.

After Boyle's timeout, the Buffs went on an 8-0 run. Dinwiddie had a fast-break basket and a 3-pointer during the spurt that reserve Xavier Talton started with a 3 that got the crowd going again.

"Spencer, he's growing up before our eyes. I mean, he's becoming one of the premier guards in this league," Boyle said. "He played against one of the premier guards in our league in Mark Lyons. But I've said this before and I'll say it again, I wouldn't trade Spencer Dinwiddie for anybody.

"What he brings to this team, his ability to affect the game on so many different levels: defense, shooting the ball, making plays for each other, controlling the tempo. Spencer was special."

Every time the Wildcats cut the deficit to single digits, the Buffaloes went on a run -- led usually by Dinwiddie -- to restore their cushion. Talton's fast-break bucket made it 56-41, and Askia Booker's basket made it 68-53.

The Buffaloes didn't blow their big lead this time, unlike last month, when they led Arizona by as many as 17 and squandered a 10-point lead over the final 2 minutes of regulation.

The Buffaloes didn't let go of that loss very easily, or very quickly. Several weeks later, Colorado's game notes showed they were still smarting over the call when the school said the Buffs had 11 3-pointers against the Wildcats -- only 10 of which counted.

Chen got one of the loudest ovations from the sellout crowd at the Coors Events Center -- an audience that included John Elway at courtside -- when he entered early in the first half.

This was the second straight big night on the hardwood by a Colorado school, which has suddenly become a hoops hotbed with the Buffaloes, Colorado State, Air Force and Metro State in Denver all playing well. No. 24 Colorado State celebrated its first ranking in nearly six decades with a thrilling 66-60 win over San Diego State on Wednesday night.

This sellout crowd of 11,120 made the Coors Events Center every bit as rocking as Moby Arena was 24 hours earlier.

Miller said "it would have been hard" for any opponent to have won in Boulder on this night.

"I think some of the best teams in the country would have had to come in here and play a great game," he said. "This was an electric atmosphere and playing against a team that played really hard and they were ready and they played really well on offense. I thought Xavier Johnson was great; he probably doesn't get enough national recognition. I'm not so sure he's not the best freshman in our conference. If he's not, he should be certainly put up there with the three or four others that everybody acknowledges."