Elijah Johnson added 15 points and Kevin Young scored 14 for the Jayhawks (7-2), who extended their 47-game home non-conference winning streak over the injury-depleted Buckeyes.
Jared Sullinger, Ohio State's star sophomore, was out for a second straight game with back spasms.
William Buford put in 21 points for Ohio State (8-1), which went down to defeat for the first time after having beaten its first eight opponents by an average of almost 30 points.
Deshaun Thomas put in 19 points for the Buckeyes.
Interpol investigating stolen passports on missing flight
Susan Sarandon 'very excited' about daughter's pregnancy