Born in Merthyr Tydfil, Griffiths started out in local football before signing for Arsenal. After a spell at Arsenal's nursery club Margate he returned to the senior team and played nine league games (scoring five goals) in 1937-38 as Arsenal won the old First Division.
He moved to Leicester City for the 1938-39 season, and went on to play 373 League games for the Foxes over the next 18 years. He also made 36 FA Cup appearances for Leicester, and along with wartime games, his overall total appearances numbered 420, with 79 goals scored. He finished his career with Burton Albion.
Griffiths also won eleven caps for Wales, scoring two goals.