Jackson Vroman added 16 points and 15 rebounds and Marcus Jefferson scored 13 for the Cyclones (14-10, 4-9 Big 12), who made a dramatic reversal after falling behind 16-0 and losing 84-69 at Colorado 17 days ago.
Colorado (16-10, 6-7) never recovered from an 18-2 Iowa State run midway through the first half and fell to 0-7 in Big 12 road games.
Michel Morandais led the Buffaloes with 19 points and David Harrison scored 14. But Blair Wilson, who had been averaging 13.9, went scoreless. He missed six 3-point shots and was 0-for-8 overall.
Colorado was leading 15-13 when Barnes caught fire.
During a four-minute span, he hit three 3-pointers and sank a 2-point jumper as the Cyclones built a 31-17 lead. Sullivan's 3-pointer made it 38-23 and it was 40-26 at halftime.
Colorado went scoreless for more than five minutes during the run and began forcing up poor shots. That trend continued the rest of the game and the Buffaloes shot only 31.3 percent (21-of-67).
Jefferson, who had missed Saturday's victory over Kansas State to be with his ailing mother, returned on Tuesday afternoon and gave Iowa State a spark in the first half.
He scored the first time he touched the ball and contributed eight early points, including a double-pump layup over the 7-foot Harrison to cap the first-half run.
Sullivan had five points as Iowa State started the second half with an 11-2 run to go up 51-28. Barnes went end-to-end for two quick baskets to stretch the lead to 60-37, and the Cyclones led 74-42 after Sullivan's long 3 with 5:35 remaining.