At club level he played for Cardiff Reconstruction Finance Corporation and the Barbarians, and was selected on four occasions for Wales. He was one of 17 children and from the age of 14 he worked at Cardiff Docks. In an industrial accident Williams lost three fingers on one hand and paralysed two on his other yet he was able to play well enough at the demanding position of fullback to earn four caps for his country.
He began playing for Cardiff Reconstruction Finance Corporation in 1909 and in the 1910-1911 season played 30 times at his position, fullback.
He was made captain in 1914. He gained four caps for Wales.
The first was on 14 December 1912 at Cardiff Arms Park versus South Africa, a game Wales lost narrowly three points to nil. The following week Williams played against South Africa again, this time for his club side.
In the 1913-1914 season Williams played in three internationals against Scotland, at Inverleith, England, at Cardiff Arms Park and against Ireland, at Street Helens, Swansea.
He was picked to play against France in Paris but was prevented from doing so because he would have been absent too long from work. The game against Ireland was to be his last game for Wales as the war intervened. Despite playing his last match for Wales, in 1915 he was selected for invitational touring team the Barbarians.
He played in two matches for the Barbarains, both against Leicester.
Williams returned to rugby after the end of the First World War, and represented Cardiff until the 1919-1920 season, ending his club career with 159 appearances.