Williams, who had nine points and six rebounds in the game, converted the front end of a two-shot trip to the line to give the Buckeyes (17-5, 4-5 Big Ten) a 58-57 lead with 54 seconds to play and then made another try with 24 seconds remaining.
Traevon Jackson missed the second of two shots for Wisconsin (17-5, 4-5) with 17 seconds remaining.
LaQuinton Ross led the Buckeyes with 13 points. Amedeo Della Valle added 11 points off the bench, nine of which came in the first half.
Nigel Hayes led Wisconsin with 17 points.
The win started the month on the right foot for the Buckeyes, who were 2-5 in January. Wisconsin has lost 5-of-6 games after going 16-0 to start the season.