Down 66-60, Josh Tarver scored the next four in a row, making a pull-up two and a pair of free throws to get the Beavers within two.
OSU fouled Ivan Radenovic who made both of his foul shots, but then Roeland Schaftenaar hit another long two to get the Beavers back to a one possession game.
Radenovic went to the line again and again converted both foul shots to seal the win.
Williams made his first five shots on his way to 23 points.
The Wildcats could not shake the Beavers for much of the first half but used an 8-0 run to go up eight at the break and extended the lead to 11 early in the half.
Just when it looked like the Cats might run away the Beavers fought back and scored 15 of the next 19 points and a Josh Tarver three pointer with 14:40 to play tied the game at 45.
Arizona never built up a big lead, but never let the Beavers get in front.
The Wildcats shot over 60% in the first half but cooled off considerably in the second frame.
Sasha Cuic, who had been in something of a slump, scored 25 points to lead all scorers. He made 4-5 three pointers. The rest of the team was just 1-18 from behind the arc.
Jordan Hill had another solid outing scoring 12 points and grabbing 11 rebounds.