Swindon Town manager Bert Head brought Thomas to the County Ground from non-league Gloucester City in July 1964 – paying £500 for his services. Still a youth player, it was almost two years before he made his debut, in a drab 0–0 draw with Scunthorpe, at the end of the 1965–66 season.
The following season saw Thomas establish himself as the club's first choice right back, and he also achieved his first international honours, being selected for the Welsh under-23 squad. Widely recognised as one of the best defenders outside of the First Division, Thomas made his full international debut in a 0–0 draw with Northern Ireland in 1967 – he remains the club's most capped international footballer.
Despite interest from bigger clubs, Thomas went on to make nearly 300 appearances for Swindon, including the 1969 League Cup final. By the time he left in 1973, he had made the most international appearances ever by a Swindon player, having played in thirty matches for Wales. He moved on to Derby County, when former Town manager Dave Mackay offered £100,000 for Thomas' signature. At Derby he was part of the team that won the First Division in 1975.[2]
Thomas left Derby in 1977, joining Cardiff City for £10,000, making his debut in a 2–0 win over Stoke City. His four years at Cardiff were hampered by injuries and, in 1981, he returned to Gloucester City.