Reserve guard Sean Haluska added a career-high nine points for the Cyclones (13-8, 3-3 Big 12), who held Colorado to a season low for points.
The Buffaloes (9-11, 1-5), who have lost four straight, went without a field goal for the final 10:04.
Iowa State's ninth straight win at home was a costly one. Wesley Johnson, the Cyclones' leading scorer, left midway through the first half and is out indefinitely, according to Iowa State coach Greg McDermott.
Johnson missed the first four games of the season with a bone bruise in his left foot. McDermott said that Johnson appeared to reaggravate that injury when he came down on a Colorado player's foot. Johnson averaged 19.2 points in his first five Big 12 games.
The Cyclones pulled away from Colorado (9-11, 1-5) down the stretch. Haluska hit a 3 and Diante Garrett hit a layup -- drawing Richard Roby's fifth foul in the process -- to help Iowa State jump ahead 47-39 with 4:04 left. Haluska and Bryan Petersen added runners that pushed the lead to 52-41 with 1:34 to go.
Roby had 13 points for the Buffaloes. Colorado had just 19 points in the second half, on 5-of-21 shooting from the field.
Iowa State opened the second half on a 13-3 run, highlighted by an acrobatic one-handed dunk from Brackins, to take a 28-25 lead. The Cyclones matched their first-half point total, a season-low 15, just seven minutes into the second half.
Both teams were sloppy in the opening half. Iowa State struggled against Colorado's press, which allowed the Buffaloes to jump out to an early lead. Things only got worse for the Cyclones after Johnson headed to the locker room, as they went scoreless over the final 4:44 of the first half.
Colorado wasn't much better, committing nine turnovers against just two assists in the opening half. Still, the Buffaloes took a 22-15 lead into the break on a jumper by Roby just before the buzzer.
Iowa State has now beaten Colorado in 16 of their last 17 meetings in Ames. Guard Marcus Hall had nine points and nine boards for the Buffaloes.