Williams started in non-league with Dudley Town and Solihull Borough, before he was signed by First Division side Coventry City in 1985 for a fee of £20,000, at the age of 23. He played ten games for the club, before he was allowed to sign with Rotherham United of the Third Division in October 1986. The "Millers" were relegated at the end of the 1987–88 season after losing to Swansea City at the semi-final stage of the Fourth Division play-offs. Despite this, Williams was still chosen in the PFA Team of the Year for his strong performances throughout the season. His performances also won him a £175,000 move to Leeds United in November 1988, then a Second Division side. He went on to make nineteen appearances in 1988–89, eleven of which were as a substitute. He was the first signing of manager Howard Wilkinson. Leeds won promotion back to the top-flight after topping the Second Division table at the end of the 1989–90 season; Williams made thirteen league starts, scoring two goals. His first team appearances were limited by a groin injury. After spending five months out with his groin problem he then suffered a fractured cheekbone after teammate Vinnie Jones accidentally hit him in the face with a cricket bat. United then went on to power to a fourth-place finish in the top-flight in 1990–91, with Williams making five starts and seven substitute appearances. Restricted to the odd appearance by the form of the Leeds midfield, in December 1991 he was loaned out to Second Division side Port Vale. He played five games for the "Valiants", who would finish the season in last place; in contrast Williams returned to Elland Road, where manager Howard Wilkinson was in the process of bringing Leeds the First Division title. Williams would be gone before the end of the season however, and in February 1992 he was sold on to Notts County for a £115,000 fee. County were struggling in the First Division, and lost their top-flight status at the end of the 1991–92 season. After a mid-table finish in 1992–93, County loaned Williams out to Second Division Huddersfield Town at the start of the 1993–94campaign. He played six games for the "Terriers", before he was allowed to re-sign with former club Rotherham United in October 1993. He struggled with a knee injury, and at the end of the 1994–95 season he moved on to league rivals Hull City – who had tried to sign him in 1988 but lost out to Leeds. Hull finished bottom of the league in 1995–96, and so were relegated into the Third Division. Williams left Hull but remained in the fourth tier, signing non-contract terms with Scarborough. He made his debut in a goalless home draw with Cardiff City on 17 August, and also played in a League Cup draw at former club Hull three days later. This was to be his last professional game, though he did later turn out for non-league clubs Guiseley, Gainsborough Trinity, and Matlock Town.
Style of play
The Rotherham United website states that Williams was a "tall midfielder with a deceptive turn of speed."