Cardiff City Football Club is a professional association football club based in Cardiff, Wales. The club was founded in 1899 as Riverside A.F.C., by members of a local cricket club, joining the Cardiff & District League the following year. In 1907, the side joined the South Wales Amateur League and changed its name to Cardiff City, later entering the English football league system by joining the Southern Football League in 1910, before being elected into the Football League in 1920. As of the end of the 2017–18 season, the club has won three division titles in the Football League, won promotion on 12 occasions and been relegated 12 times. The club has also achieved some success in domestic cup competitions, winning the FA Cup in 1927, reaching the final on two other occasions, reaching the 2012 League Cup final and winning the Welsh Cup on 22 occasions.
All players who have played between 25 and 99 first-team matches for the club, either as members of the starting eleven or as substitutes, are listed below. Each player's details include the duration of his career with Cardiff, his typical playing position while with the club, and the number of matches played and goals scored in all senior competitive matches.
No player has finished his Cardiff career on 99 appearances, Patrick Cassidy and Tom Sloan both reached 98 appearances before leaving the club. Sloan is one of three players who played between 25 and 99 games who appeared in the club's 1927 FA Cup Final winning team, the others being Ernie Curtis and Sam Irving. Two players, Davy McDougall and Richie Morgan, went on to manage the team. McDougall was appointed as the club's first manager in 1910 and remained in the role until the following year. Morgan managed the side between 1978 and 1981 before moving into another role at the club. Despite only appearing in 25 matches for Cardiff, Robin Friday is regarded as one of the most notable cult heroes in the club's history due to his performances and his personality. Stan Richards set a club record for the most league goals in a single season with 30 in 1946–47 as the team won promotion from the Third Division South, which stood for 56 years until it was beaten by Robert Earnshaw.
In more recent years, notable players with between 25 and 99 appearances for the club include Andy Campbell, who scored the winning goal in the 2003 Football League Second Division play-off final, and Chilean midfielder Gary Medel, who set club transfer fee records on both his arrival in 2013 and his departure the following year. Aaron Ramsey, who spent three spells with the club, remains the youngest player ever to play for the club after making his debut at the age of 16 years and 123 days.
As of May 2026, 13 players listed here are still with the club, so have the opportunity to add to their totals.
Key Players are arranged by alphabetical order of surname. Appearances as a substitute are included. This feature of the game was introduced in the Football League at the start of the 1965–66 season. Statistics are correct as of the match played on 2 May 2026. + Positions keyPre-1960s1960s–GKGoalkeeperFBFull backDFDefenderHBHalf backMFMidfielderFWForward
+ KeySymbolMeaning Player still at the club *Player represented his country at international level during his time at the club
List
PlayerNationalityPositionClub careerAppearancesGoalsNotes HB 1910–1913 51 11 FW 1994–1996 47 7 * DF 1994–1995 57 3 MF 2000–2002 35 5 FW 1945–1947 & 1948–1949 66 23 GK 2022–2023 44 0 GK 2022–2025 63 0 FW 1975–1976 65 24 MF 2015–2016 38 1 FW 1965–1967 50 26 MF 2005–2006 41 1 * MF 2018–2019 25 0 FW 2023– 84 9 FB 1938–1939 47 0 MF 1989–1991 83 11 FB 1914–1924 66 7 DF 1987–1989 97 0 * FW 1924–1925 40 16 FB 1997–1998 53 1 * FW 2010–2011 & 2012–2014 91 18 MF 1981–1983 91 20 FW 1948–1949 30 12 FB 1982–1985 94 4 FW 1957–1960 85 43 FW 2023–2024 39 5 FB 2013–2015 30 0 FW 2000–2002 94 20 MF 1998–2002 79 7 DF 1985–1987 57 0 FW 1966–1968 64 30 MF 2004–2005 37 8 FW 1910–1914 53 22 FW 1911–1914 86 31 FB 1933–1934 42 0 MF 2018–2019 33 5 FW 2002–2006 96 19 FW 2013–2014 52 16 GK 1945–1949 83 0 * FB 2007–2010 77 0 MF 1998–2000 89 2 MF 1997–1998 50 1 FW 1919–1921 55 26 FW 1925–1926 28 7 DF 1912–1920 98 13 DF 2013–2014 39 5 DF 2024– 73 5 MF 1989–1990 34 1 DF 1974–1977 85 5 * DF/FW 1963–1966 89 18 * HB 1962–1965 95 32 FW 1952–1953 66 35 FW 1919–1921 31 9 MF 1967–1969 62 5 MF 1942–1947 43 11 * DF 2000–2005 86 6 * FW 2021–2022 30 3 * FB 2022–2024 43 1 FW 1937–1939 94 49 MF 2023– 50 6 * FB 2008–2011 35 0 * MF 2011–2014 67 6 MF 2005–2008 45 2 MF 1938–1939 31 0 * MF 2011–2014 97 9 DF 2005–2006 29 2 FW 1919–1920 27 5 FW 1932–1933 31 11 FB 2002–2005 87 3 FW 1926–1927 & 1933–1935 76 17 FB 1985–1986 35 2 * MF 2014–2015 26 1 MF 2017–2019 33 0 MF 1989–1990 72 1 GK 1920–1923 95 0 FW 2021– 88 12 FB 1952–1958 36 3 * FW 1924–1928 90 17 FW 1967–1968 30 8 FB 1998–1999 36 0 * DF 1967–1972 85 1 FW 1912–1920 59 30 GK 1982–1984 72 0 DF 1912–1915 69 1 FW 1960–1961 36 11 DF 1910–1912 51 1 MF 1959–1963 60 13 GK 1969–1973 60 0 FB 1960–1964 85 4 FW 2024–2025 27 3 GK 1996–1997 44 0 FW 1964–1965 27 10 MF 1983–1985 70 6 * GK 2008–2010 42 0 DF 1975–1976 48 1 FW 2022– 62 9 FW 1949–1952 54 21 FB 1933–1935 77 5 Fábio FB 2014–2016 68 1 FB 1999–2000 43 1 MF 1973–1974 30 7 FW 1985–1986 36 4 FW 1911–1913 41 22 MF 1994–1995 46 2 GK 1936–1939 65 0 DF 2024– 69 2 FB 1995–1997 35 0 DF 2019–2022 93 12 MF 2006–2009 30 1 MF 1984–1985 37 2 MF 1971–1973 27 4 FB 1936–1938 41 0 FW 1976–1977 25 7 DF 1952–1958 39 0 MF 1988–1991 65 1 MF 1958–1965 77 1 MF 1995–1996 72 5 DF 2009–2012 73 4 * FW 2011–2014 64 9 FW 1946–1948 75 16 FB 2006–2007 27 0 FB 1980–1982 36 1 MF 1980–1983 29 1 FW 2019–2021 58 11 FW 1914–1915 32 8 MF 2000–2004 56 13 DF 2023–2025 81 5 FB 1983–1984 29 1 FW 2023–2024 40 6 GK 1992–1993 35 0 GK 1973 & 1979–1981 45 0 MF 1985–1989 44 5 * FB 2006–2008 35 0 * DF 2008–2012 74 5 FB 2017–2018 33 1 MF 2001–2003 35 1 GK 1995–1997 43 0 FW 1965–1966 33 13 MF 2012–2019 79 7 MF 1997–1998 45 1 * FW 2017–2023 95 10 FW 2007–2008 44 9 FW 1982–1983 30 9 * FW 1995–1997 46 10 DF 1990–1992 56 4 GK 2008–2009 & 2010–2012 64 0 FW 2012–2013 39 9 HB 1928–1931 52 3 FW 1982–1983 63 26 FW 1932–1933 50 29 * FW 1957–1959 73 32 MF 1998–2001 76 7 FW 1932–1935 77 16 FW 1960–1963 49 9 FW 1962–1963 45 24 FW 1913–1920 40 14 * GK 2024–2025 36 0 HB 1957–1960 73 12 GK 1951–1952 27 0 MF 1979–1981 55 2 FW 1947–1948 27 15 GK 1910–1912 49 0 MF 1933–1934 26 4 FB 1972–1974 29 2 MF 2016–2017 28 5 * FW 1926–1928 62 5 MF 1992–1993 68 3 HB 1956–1960 35 10 HB 1930–1933 81 0 HB 1933–1935 35 0 FW 2004–2006 79 27 * FB 2012–2017 47 0 * FW 2008–2009 33 2 FW 1964–1967 81 34 GK 1937–1939 66 0 HB 1954–1955 29 0 GK 1957–1958 29 0 * FW 2014–2016 67 19 MF 1990–1991 50 6 FW 1931–1932 50 26 FW 1934–1936 75 36 * DF 2011–2012 25 2 MF 1971–1973 49 5 FW 2025–2026 42 11 DF 1938–1939 55 0 FB 2008–2010 76 0 DF 1986–1987 42 1 Kim Bo-Kyung * MF 2012–2015 64 3 FB 1985–1986 32 0 FW 1961–1962 35 7 DF 2022–2023 43 3 FW 1955–1957 45 4 MF 2011–2016 36 1 FW 1980–1982 77 28 GK 1993–1994 25 0 * MF 2005–2006 & 2010–2011 74 15 DF 2024– 44 2 FB 1934–1935 34 0 * MF 2003–2005 73 8 DF 2024– 39 2 DF 1910–1912 57 1 MF 1923–1926 81 2 DF 1914–1921 70 0 DF 1911–1914 63 0 GK 1934–1935 53 0 * FW 2003–2006 97 13 FW 2014–2016 25 3 DF 1988–1991 64 0 FW 1934–1935 40 8 FB 1996–1998 40 1 MF 1999–2002 86 6 MF 1988–1990 82 4 MF 1980–1983 & 1989 48 4 FW 2018–2020 28 0 FW 1933–1936 46 8 FB 2015–2016 56 2 DF 1952–1953 29 0 HB 1933–1934 31 2 MF 1987–1988 39 1 * GK 2002–2007 43 0 MF 1985–1987 61 6 FW 1926–1930 29 3 * FB 2009–2011 48 1 FB 1990–1992 85 2 FW 2012–2015 26 3 FW 2001–2004 46 1 MF 2004–2005 48 3 HB 1937–1939 82 6 * FW 2008–2010 88 30 FW 1972–1974 74 33 DF 2000–2002 27 1 MF 1987–1988 68 11 DF 1910–1911 26 2 HB 1910–1911 26 0 MF 1928–1932 40 0 DF 2021–2024 86 6 DF 1910–1911 26 0 HB 1950–1953 56 3 MF 1984–1986 58 4 MF 1955–1957 86 23 FW 1984–1985 29 3 * MF 2013–2014 35 0 FW 2023–2025 71 5 FB 1937–1939 31 0 MF 2017–2020 92 14 * FW 2011–2012 50 11 DF 1998–1999 54 0 HB 1934–1935 25 0 * FW 2020–2022 66 25 FW 1979–1980 61 6 MF 1988–1990 74 3 DF 1966–1977 89 0 DF 1933–1937 48 0 GK 1986–1988 49 0 MF 2018–2021 98 14 MF 2012–2014 60 7 FW 1920–1922 33 8 FB 2010–2012 37 2 GK 1958–1960 58 0 HB 1924–1926 57 14 FW 1952–1955 85 19 MF 1994–1995 40 1 MF 2020–20212022–2024 83 7 * FW 2022–2025 94 6 MF 2015–2019 45 2 MF 2010–2011 42 6 MF 1983–1984 47 18 FB 1920–1926 86 0 FW 1920–1921 27 8 FW 1997–1998 42 4 FB 1958–1964 53 0 MF 1997–1998 44 5 DF 1999–2001 35 2 GK 2020–2023 36 0 FW 1995–1998 67 5 FW 2022–2023 39 5 GK 1983–1985 29 0 GK 1935–1936 & 1946 29 0 FB 1932–1933 35 0 FW 1933–1934 38 13 DF 1972–1974 46 1 MF 1936–1938 37 10 DF 2001–2004 96 5 FB 2009–2012 61 1 * MF 2006–200820112023–2025 51 6 DF 1957–1963 77 0 * DF 1992–1993 31 1 GK 1984–1987 38 0 MF 1970–1972 38 2 FW 2018–2019 30 5 FW 2015–2016 30 3 FW 1956–1959 60 16 * FB 2016–2020 57 0 * FW 1946–1948 59 39 FW 1938–1939 26 8 FW 1934–1936 68 15 * MF 2022–2025 82 0 * FW 1928–1931 96 42 FW 1997–1999 32 3 DF 1978–1981 46 2 MF 2024– 76 10 MF 2003–2005 43 3 MF 1986–1987 35 1 * DF 2022–2024 51 0 HB 1931–1932 38 1 FW 1935–1936 33 2 FB 1932–1933 65 1 FW 2025– 63 24 MF 1987–1988 28 2 MF 2020–202327 0 FW 1997–1999 42 15 * MF 2022–2024 45 3 MF 2006–2010 77 6 MF 1963–1965 44 5 MF 2007–2008 27 2 * MF 2023–2025 64 0 * MF 1924–1929 98 1 GK 1984–1985 52 0 DF 1983–1985 59 3 MF 1973–1975 54 1 HB 1935–1937 55 3 FB 1930–1932 67 0 FW 1925–1929 50 10 MF 2012–2014 26 1 FW 1948–1950 56 17 FW 1954–1957 64 20 MF 1997–1999 46 4 DF 1979–1981 70 1 FB 2013–2015 30 0 FW 1998–2000 36 5 FW 1993–1995 65 9 MF 2017–2021 56 11 FW 1911–1914 72 17 GK 2025– 46 0 MF 2024– 84 4 FW 1937–1938 49 22 FW 1985–1986 48 10 * FB 2003–2005 82 2 * MF 1971–1976 94 5 MF 1972–1975 84 14 GK 2000–2003 48 0 FW 1970–1972 79 29 * FW 1954 & 1961–1962 41 20 FW 2017–2020 68 12 GK 1989–1993 75 0 FW 1946–1948 42 12 GK 2004–2006 30 0 * FW 1927–1930 39 8 FW 1959–1961 73 18 DF 1976–1978 91 11 MF 2002–2004 47 2 FW 1996–1998 77 19 MF 2005–2008 38 1 * MF 2019–2023 53 2 MF 1993–1995 72 1 GK 1994–1996 82 0 FW 1998–1999 51 16 FW 1929–1930 32 17 GK 1993–1997 45 0 MF 2024– 82 10 * MF 2020–2021 38 7 FW 1984–1986 31 8 GK 1987–1990 92 0
Notes
References General
Specific