It was the sixth consecutive victory for the Buffaloes (9-5, 2-0 Pac-12) over the Trojans (8-6, 0-2).
Nikola Jovanovic led USC with 14 points and Julian Jacobs scored 11.
The Trojans were without Jordan McLaughlin, who is sidelined because of a sore shoulder. The guard, who is averaging 12.7 points per game, was injured in USC's loss at Utah on Friday.
"Hurt us," Coach Andy Enfield said. "It was a tough game. Give Colorado credit, they outplayed us."
The Buffaloes used a 14-0 run late in the first half to break open a tight game. They never gave the Trojans a chance at a comeback as they made four consecutive three-point baskets to start the second half.
The Trojans went on a 7-0 run midway through the final half, but that spurt was ended when Askia Booker lobbed a pass to Jaron Hopkins, who dunked it over two defenders.
It was a rough two-game trip for the Trojans in which they were outscored, 165-120.
"The issue is this is a young team and the guys weren't ready for Pac-12 play yet," Jovanovic said. "I feel kind of bad because we couldn't steal one win. I'm going to look at it as a learning experience."
Booker scored 18 points and Xavier Johnson had 17 points to help Colorado improve to 23-6 at home against Pac-12 opponents.
Colorado rode Thomas' hot hand. The 6-foot-7 sophomore center made his three three-point shots. He had struggled from three-point range in his career, making only seven of 40 tries before Sunday.
"Hopefully, this can be a springboard and a confidence builder for him," Coach Tad Boyle said. "When he shoots the ball well, shoots in rhythm like today, it gives us another weapon and makes us a much better team."