Born at Kidwelly, Carmarthenshire and educated at Christ College, Brecon and Oxford University, where he represented the university at table tennis, Williams made a few appearances as a right-handed batsman for Glamorgan's Second XI in the Minor Counties in the early 1950s. In 1955, he played the three first-class matches at the Weston-super-Mare festival for Somerset, batting in the middle order for the matches with Surrey and Glamorgan and opening the batting against Hampshire. All three matches, on a pitch that Wisden Cricketers' Almanack called "spiteful", were lost heavily by Somerset and in two of them the side was dismissed for 36 all out and 37 all out, the two lowest totals of the season.[1] Only against Glamorgan did Williams make runs: his 24 in the first innings was the highest in a total of 108. In six first-class innings, he made just 30 runs.
Williams was a housemaster at Millfield for many years and also played club cricket for Bath Cricket Club.