When he was 12 years old, Charles began playing with the West Ham United youth teams and signed with the club as an apprentice when he turned 15. He would sign with West Ham as a full professional when he turned 17 and joined the first team in 1970 as a defender. However, West Ham was stocked with talent and Charles had difficulty finding playing time. In 1971 and 1972, he played two seasons on loan from West Ham with the Montreal Olympique of the now defunct North American Soccer League (NASL). While with Montreal, he met his future wife Clarena, then a flight attendant flying between Montreal and England. He was also honoured as a second team NASL All Star in both of his seasons in Montreal. When playing time continued to elude Charles, West Ham loaned him to Second Division side Cardiff City for the last 8 games of the 1974 season. Even though Cardiff City were relegated to the Third Division, Charles chose to sign with the team and became its captain at the age of 23. Cardiff won promotion back to the Second Division in 1976. Charles finished his career with Cardiff City in 1978, playing over 100 games and scoring 5 goals.