He began his career with Bristol Rovers, where he made his first team debut in the 1980–81 season and remained with them until he joined Derby County on 29 March 1985 for £40,000.
After failing to get them back into the top flight in 1992, he bade farewell to the Baseball Ground after seven years, 267 league games and 10 goals, when signing for Ipswich Town on 1 July 1992 for £650,000.
Williams remained with them for three more seasons after relegation, finally departing on a free transfer in the summer of 1998 after 227 league games and three goals for the Tractor Boys.
In this role, he was known for his acceleration, positional sense, tactical discipline, intelligence, energy, and ball-winning ability; although he was not the fastest, most talented or technically skilled player on the ball, or particularly good in the air.
Despite a slow start, they entered a run of consistent good form and were in the challenge for a play-off place right up until the final game of the season.
They eventually finished 10th above more favoured sides such as Crystal Palace, Leicester City and most notably the relegated Leeds United.
After a poor run of form in March, Williams left Orient only hours after the side's 3–1 home defeat to Hartlepool United.
[6] During this mandate, he notably suffered a historical defeat in San Marino (1-0), in a qualification match for the 2015 UEFA European Under-21 Championship.