Williams, who has been dealing with a nagging back injury since the preseason, started the first three games of the season at left guard before leaving the game in a Week 3 loss to the San Diego Chargers.
After missing the next two games, Williams returned to practice this week, participating on a limited basis Wednesday and Thursday. He did not practice Friday and was declared out for Sunday's game against the New England Patriots.
In his place, the Bills will continue to turn to rookie Cyril Richardson, a fifth-round pick, as their starter at left guard. Richardson was flagged for three penalties in Sunday's 17-14 win against the Detroit Lions.
Williams signed a four-year, $13.5 million free-agent contract in March that included $4 million in guaranteed money.
To replace Williams on the 53-man roster, the Bills promoted rookie safety Kenny Ladler from the practice squad.