Stockport zajęło ostatnie miejsce w lidze i spadło do Football League Two.

W czasie następnych sezonów Williams dalej był podstawowym obrońcą Stockportu. W sezonie 2005/2006 został wybrany najlepszym zawodnikiem zespołu, a Luton Town złożyło propozycję jego zakupu za 500 tysięcy funtów, którą klub odrzucił.

27 marca 2008 roku został wypożyczony na resztę sezonu do Swansea City. Zadebiutował tam 8 kwietnia w ligowym meczu z Carlisle United. Williams do końca sezonu rozegrał trzy mecze, a Swansea wywalczyła awans do Football League Championship. 22 maja 2008 roku klub ten wykupił Williamsa za 400 tysięcy funtów. Podpisał on dwuletni kontrakt. Swansea pobiła zarazem swój transferowy rekord w kwocie wydanych pieniędzy na jednego zawodnika.

16 września 2008 roku w meczu ligowym z Derby County Williams zdobył swoją pierwszą bramkę dla nowego zespołu. Sezon 2008/2009 zakończył z 51 występami. W kolejnym sezonie również był podstawowym zawodnikiem. W kwietniu 2010 roku został wybrany do najlepszej jedenastki w lidze. Dla walijskiego klubu rozegrał 319 meczów, w których zdobył 14 goli.

Po ośmiu latach gry dla Swansea City zdecydował się na transfer do Evertonu.