The Jayhawks had played 264 games in a row since January 2006 without consecutive losses, the longest active streak in NCAA Division I.
Kansas shot a season-low 30 percent from the field (18 of 61) and had its lowest-scoring game since also scoring 55 in an NCAA tournament loss to UCLA on March 24, 2007.
"We knew going in that we would have to play extremely well, offensively, defensively, extremely hard, and they were going to have to help us out," Johnson said. "When I said help us, obviously they missed a lot of shots they probably would make."
TCU kept the Jayhawks in the game by making only 5 of 12 free throws in a nearly 2-minute span before Elijah Johnson's 3-pointer got Kansas within 56-50 with just under a minute left. Johnson added another one from long range with 34 seconds left but that wasn't enough.
Nate Butler Lind had 10 points for TCU. Connell Crossland added eight points and 15 rebounds.
McLemore led Kansas with 15 points, while Withey had 12 points and Tharpe 11.
There was a record sellout crowd of 7,412 fans in the Daniel-Meyer Coliseum, a large portion of them loud Jayhawks fans cheering on their team coming off the 85-80 loss Saturday that ended their nation's-best 18-game winning streak and a 33-game winning streak at Allen Fieldhouse.
But when this game ended, they were filing out of the arena while TCU students stormed the court to celebrate the Frogs' first win over a top-five team in 21 tries.
Green's 3-pointer made it 20-6 before the only Kansas spurt of the first half that would have been more if not for missed free throws.
McLemore made two free throws, and after Green missed another shot from long range, Kevin Young made a layup before Withey blocked a shot. But the Jayhawks then went to the free throw line on three consecutive possessions — Young twice, and Travis Releford once — and made only one of two freebies each time while getting within 20-13.