Nebraska (9-7, 1-2 Big 12) had its biggest lead in the second half when John Turek hit a jumper to give the Huskers a 55-50 lead with 11:27 left.
But Colorado (11-5, 1-2) scored six straight to take a 56-55 lead with 9:40 remaining and neither team led by more than three the rest of the way.
The Buffaloes took a 68-66 lead with 13 seconds left in regulation when Michel Morandis made one of two free throws. He hit just two of six free throws in the final 1:02 of regulation.
Johnson scored on Nebraska's next possession before a Morandis jumper in the lane bounced out to send the game into overtime.
The overtime period was as tight as the second half. Neither team led by more than two until Corey Simms hit a free throw with three seconds left for the final margin.
Nebraska could have sealed the win earlier, but made only 6-of-11 free throws in overtime. Colorado outscored Nebraska 9-6 from the field in overtime, but missed both of its free throws.
Johnson finished with 24 points to lead four Huskers in double figures.
Andrew Drevo added 18, Turek had 16 and Brennon Clemmons scored 11.
Blair Wilson led Colorado with 24 points while Morandis had 18.
Glean Eddy scored 11 for the Buffaloes and David Harrison had 10 points and 13 rebounds before fouling out with 1:33 left in regulation.