# 2023–24 Cardiff City F.C. season

The 2023–24 season is the 125th season in the history of Cardiff City and their fifth consecutive season in the Championship. The club are participating in the Championship, the FA Cup, and the EFL Cup.

## Current squad

    As of 4 May 2024
Note: Flags indicate national team as has been defined under FIFA eligibility rules. Players may hold more than one non-FIFA nationality.
| No. | Name | Position(s) | Date of birth (Age) | Apps. | Goals | Year signed | Signed from | Transfer fee | Ends |
| Goalkeepers |||||||||||
| 1 | Ethan Horvath | GK | (1995-06-09) 9 June 1995 (age 29) | 16 | 0 | 2024 | Nottingham Forest | Undisclosed | 2027 |
| 21 | Jak Alnwick | GK | (1993-06-17) 17 June 1993 (age 31) | 32 | 0 | 2022 | St Mirren | Free | 2025 |
| 28 | Rohan Luthra | GK | (2002-05-06) 6 May 2002 (age 22) | 1 | 0 | 2021 | Crystal Palace | Free | 2024 |
| 41 | Matthew Turner | GK | (2002-03-27) 27 March 2002 (age 22) | 0 | 0 | 2021 | Leeds United | Free | 2024 |
| Defenders |||||||||||
| 2 | Mahlon Romeo | RB/RM | (1995-09-19) 19 September 1995 (age 29) | 51 | 0 | 2022 | Millwall | Undisclosed | 2025 |
| 4 | Dimitrios Goutas | CB | (1994-04-04) 4 April 1994 (age 30) | 45 | 4 | 2023 | Sivasspor | Free | 2025 |
| 5 | Mark McGuinness | CB | (2001-01-05) 5 January 2001 (age 23) | 84 | 4 | 2021 | Arsenal | Undisclosed | 2027 |
| 12 | Nat Phillips | CB | (1997-03-21) 21 March 1997 (age 27) | 18 | 1 | 2024 | Liverpool | Loan | 2024 |
| 15 | Oliver Denham | CB/RB | (2002-05-04) 4 May 2002 (age 22) | 8 | 0 | 2021 | Manchester United | Trainee | 2024 |
| 17 | Jamilu Collins | LB/CB/LM | (1994-08-05) 5 August 1994 (age 30) | 40 | 1 | 2022 | SC Paderborn | Free | 2024 |
| 30 | Josh Wilson-Esbrand | LB | (2002-12-26) 26 December 2002 (age 22) | 11 | 0 | 2024 | Manchester City | Loan | 2024 |
| 38 | Perry Ng | RB/LB/CB | (1996-04-27) 27 April 1996 (age 28) | 144 | 8 | 2021 | Crewe Alexandra | £350,000 | 2026 |
| Midfielders |||||||||||
| 6 | Ryan Wintle | DM/CM/CB | (1997-06-13) 13 June 1997 (age 27) | 117 | 5 | 2021 | Crewe Alexandra | Free | 2026 |
| 8 | Joe Ralls | CM/LM/DM | (1993-10-12) 12 October 1993 (age 31) | 386 | 34 | 2011 | Academy | Trainee | 2025 |
| 10 | Aaron Ramsey | CM/AM | (1990-12-26) 26 December 1990 (age 34) | 41 | 6 | 2023 | Nice | Free | 2025 |
| 11 | Callum O'Dowda | LW/AM/RW/LWB | (1995-04-23) 23 April 1995 (age 29) | 51 | 4 | 2022 | Bristol City | Free | 2025 |
| 15 | David Turnbill | AM | (1999-07-10) 10 July 1999 (age 25) | 17 | 0 | 2024 | Celtic | Undisclosed | 2027 |
| 19 | Romaine Sawyers | AM/CM/SS | (1991-11-02) 2 November 1991 (age 33) | 44 | 3 | 2022 | West Bromwich Albion | Free | 2024 |
| 23 | Manolis Siopis | CM | (1994-05-14) 14 May 1994 (age 30) | 41 | 0 | 2023 | Trabzonspor | Free | 2026 |
| 27 | Rubin Colwill | AM/LW/RW | (2002-04-27) 27 April 2002 (age 22) | 105 | 9 | 2020 | Academy | Trainee | 2027 |
| 32 | Ollie Tanner | LW/AM/RW | (2002-05-13) 13 May 2002 (age 22) | 40 | 2 | 2022 | Lewes | £50,000 | 2027 |
| 34 | Joel Colwill | CM | (2004-10-27) 27 October 2004 (age 20) | 5 | 0 | 2022 | Academy | Trainee | 2028 |
| 45 | Cian Ashford | AM/LW/RW | (2004-09-24) 24 September 2004 (age 20) | 9 | 1 | 2022 | Academy | Trainee | 2027 |
| Forwards |||||||||||
| 9 | Kion Etete | CF/SS | (2001-11-28) 28 November 2001 (age 23) | 61 | 9 | 2022 | Tottenham Hotspur | £500,000 | 2025 |
| 14 | Josh Bowler | RW/LW | (1999-03-05) 5 March 1999 (age 25) | 38 | 5 | 2023 | Nottingham Forest | Loan | 2024 |
| 16 | Karlan Grant | CF/LW | (1997-09-18) 18 September 1997 (age 27) | 39 | 6 | 2023 | West Bromwich Albion | Loan | 2024 |
| 20 | Famara Diédhiou | CF | (1992-12-15) 15 December 1992 (age 32) | 16 | 2 | 2024 | Granada | Loan | 2024 |
| 22 | Yakou Méïté | LW/CF/RW | (1996-02-11) 11 February 1996 (age 28) | 37 | 2 | 2023 | Reading | Free | 2025 |
| 47 | Callum Robinson | LW/CF/RW | (1995-02-02) 2 February 1995 (age 29) | 47 | 10 | 2022 | West Bromwich Albion | £1,500,000 | 2025 |
| Out on Loan |||||||||||
| 3 | Joel Bagan | LB | (2001-09-03) 3 September 2001 (age 23) | 42 | 3 | 2020 | Academy | Trainee | 2026 |
| 18 | Ebou Adams | CM/DM/AM | (1996-01-15) 15 January 1996 (age 28) | 12 | 0 | 2022 | Forest Green Rovers | Free | 2025 |
| 25 | Kieron Evans | AM | (2001-12-19) 19 December 2001 (age 23) | 11 | 1 | 2020 | Academy | Trainee | 2024 |
| 35 | Andy Rinomhota | CM/DM/RM | (1997-04-21) 21 April 1997 (age 27) | 48 | 0 | 2022 | Reading | Free | 2025 |
| 39 | Isaak Davies | SS/RW/LW | (2001-09-25) 25 September 2001 (age 23) | 42 | 4 | 2020 | Academy | Trainee | 2025 |
| 44 | Xavier Benjamin | CB | (2004-01-11) 11 January 2004 (age 20) | 2 | 0 | 2022 | Fulham | Academy | 2024 |
| 54 | Sheyi Ojo | LW/RW/SS | (1997-06-19) 19 June 1997 (age 27) | 81 | 7 | 2022 | Liverpool | Free | 2024 |
| — | Eli King | DM/CM | (2002-12-23) 23 December 2002 (age 22) | 7 | 0 | 2021 | Academy | Trainee | 2026 |
| | Ryotaro Tsunoda | CB/LB | (1999-06-27) 27 June 1999 (age 25) | 0 | 0 | 2024 | Yokohama F. Marinos | Undisclosed | |

## Statistics

    As of 4 May 2024
    Players with names in italics and marked * were on loan from another club for the whole of their season with Cardiff City.
| No. | Pos | Nat | Player | Total | Total | Championship | Championship | FA Cup | FA Cup | EFL Cup | EFL Cup |
| No. | Pos | Nat | Player | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals |
| 1 | GK | USA | Ethan Horvath | 16 | 0 | 16+0 | 0 | 0+0 | 0 | 0+0 | 0 |
| 2 | DF | ATG | Mahlon Romeo | 18 | 0 | 8+7 | 0 | 0+0 | 0 | 3+0 | 0 |
| 4 | DF | GRE | Dimitrios Goutas | 45 | 4 | 45+0 | 4 | 0+0 | 0 | 0+0 | 0 |
| 5 | DF | IRL | Mark McGuinness | 30 | 2 | 28+1 | 2 | 0+0 | 0 | 0+1 | 0 |
| 6 | MF | ENG | Ryan Wintle | 44 | 3 | 27+15 | 2 | 1+0 | 0 | 1+0 | 1 |
| 8 | MF | ENG | Joe Ralls | 35 | 1 | 32+3 | 1 | 0+0 | 0 | 0+0 | 0 |
| 9 | FW | ENG | Kion Etete | 31 | 6 | 12+15 | 3 | 1+0 | 0 | 3+0 | 3 |
| 10 | MF | WAL | Aaron Ramsey | 12 | 3 | 6+6 | 3 | 0+0 | 0 | 0+0 | 0 |
| 11 | MF | IRL | Callum O'Dowda | 11 | 1 | 5+6 | 1 | 0+0 | 0 | 0+0 | 0 |
| 12 | DF | ENG | Nathaniel Phillips* | 18 | 1 | 17+1 | 1 | 0+0 | 0 | 0+0 | 0 |
| 14 | FW | ENG | Josh Bowler* | 39 | 4 | 31+7 | 4 | 1+0 | 0 | 0+0 | 0 |
| 15 | MF | SCO | David Turnbull | 17 | 0 | 11+6 | 0 | 0+0 | 0 | 0+0 | 0 |
| 16 | FW | ENG | Karlan Grant* | 39 | 6 | 36+2 | 6 | 0+0 | 0 | 1+0 | 0 |
| 17 | DF | NGA | Jamilu Collins | 36 | 0 | 32+3 | 0 | 0+0 | 0 | 1+0 | 0 |
| 19 | MF | SKN | Romaine Sawyers | 5 | 0 | 0+1 | 0 | 1+0 | 0 | 3+0 | 0 |
| 20 | FW | SEN | Famara Diédhiou* | 16 | 2 | 5+11 | 2 | 0+0 | 0 | 0+0 | 0 |
| 21 | GK | ENG | Jak Alnwick | 25 | 0 | 23+0 | 0 | 1+0 | 0 | 1+0 | 0 |
| 22 | FW | CIV | Yakou Méïté | 37 | 2 | 24+13 | 2 | 0+0 | 0 | 0+0 | 0 |
| 23 | MF | GRE | Manolis Siopis | 42 | 0 | 37+5 | 0 | 0+0 | 0 | 0+0 | 0 |
| 27 | MF | WAL | Rubin Colwill | 38 | 3 | 13+21 | 1 | 1+0 | 0 | 3+0 | 2 |
| 30 | DF | ENG | Josh Wilson-Esbrand* | 11 | 0 | 8+3 | 0 | 0+0 | 0 | 0+0 | 0 |
| 32 | MF | ENG | Ollie Tanner | 38 | 2 | 9+25 | 2 | 1+0 | 0 | 3+0 | 0 |
| 34 | MF | WAL | Joel Colwill | 5 | 0 | 0+2 | 0 | 0+1 | 0 | 0+2 | 0 |
| 36 | MF | ENG | Raheem Conte | 3 | 0 | 0+3 | 0 | 0+0 | 0 | 0+0 | 0 |
| 38 | DF | ENG | Perry Ng | 40 | 6 | 38+0 | 6 | 1+0 | 0 | 1+0 | 0 |
| 40 | DF | ENG | Josh Beecher | 1 | 0 | 0+0 | 0 | 0+0 | 0 | 0+1 | 0 |
| 44 | DF | ENG | Xavier Benjamin | 2 | 0 | 0+0 | 0 | 1+0 | 0 | 1+0 | 0 |
| 45 | MF | WAL | Cian Ashford | 9 | 1 | 3+2 | 1 | 0+1 | 0 | 0+3 | 0 |
| 47 | FW | IRL | Callum Robinson | 24 | 3 | 9+13 | 2 | 1+0 | 0 | 1+0 | 1 |
| 48 | MF | ENG | Cameron Antwi | 1 | 0 | 0+0 | 0 | 0+1 | 0 | 0+0 | 0 |
| 49 | DF | WAL | Luey Giles | 2 | 0 | 0+2 | 0 | 0+0 | 0 | 0+0 | 0 |
| Out on Loan: ||||||||||||
| 3 | DF | IRL | Joel Bagan | 1 | 0 | 0+0 | 0 | 0+0 | 0 | 0+1 | 0 |
| 18 | MF | GAM | Ebou Adams | 12 | 0 | 2+8 | 0 | 0+0 | 0 | 2+0 | 0 |
| 25 | MF | WAL | Kieron Evans | 4 | 0 | 0+0 | 0 | 0+1 | 0 | 2+1 | 0 |
| 33 | FW | WAL | James Crole | 1 | 0 | 0+0 | 0 | 0+0 | 0 | 0+1 | 0 |
| 35 | MF | ZIM | Andy Rinomhota | 6 | 0 | 1+2 | 0 | 1+0 | 0 | 2+0 | 0 |
| 54 | FW | ENG | Sheyi Ojo | 1 | 0 | 0+0 | 0 | 0+0 | 0 | 0+1 | 0 |
| Players who have left the club: ||||||||||||
| 12 | FW | CAN | Iké Ugbo* | 20 | 4 | 9+9 | 4 | 0+0 | 0 | 0+2 | 0 |
| 13 | GK | ISL | Rúnar Alex Rúnarsson* | 8 | 0 | 6+0 | 0 | 0+0 | 0 | 2+0 | 0 |
| 24 | DF | ENG | Jonathan Panzo* | 5 | 0 | 0+4 | 0 | 0+0 | 0 | 1+0 | 0 |
| 26 | DF | ENG | Jack Simpson | 2 | 0 | 0+1 | 0 | 0+0 | 0 | 1+0 | 0 |

### Goals record

    As of 4 May 2024
| Rank | No. | Nat. | Po. | Name | Championship | FA Cup | EFL Cup | Total |
| 1 | 9 | | CF | Kion Etete | 3 | 0 | 3 | 6 |
| 1 | 16 | | CF | Karlan Grant | 6 | 0 | 0 | 6 |
| 1 | 38 | | RB | Perry Ng | 6 | 0 | 0 | 6 |
| 4 | 14 | | RW | Josh Bowler | 5 | 0 | 0 | 5 |
| 5 | 4 | | CB | Dimitrios Goutas | 4 | 0 | 0 | 4 |
| 5 | 12 | | CF | Iké Ugbo | 4 | 0 | 0 | 4 |
| 5 | Own Goals | Own Goals | Own Goals | Own Goals | 4 | 0 | 0 | 4 |
| 8 | 6 | | DM | Ryan Wintle | 2 | 0 | 1 | 3 |
| 8 | 10 | | CM | Aaron Ramsey | 3 | 0 | 0 | 3 |
| 8 | 27 | | AM | Rubin Colwill | 1 | 0 | 2 | 3 |
| 8 | 47 | | LW | Callum Robinson | 2 | 0 | 1 | 3 |
| 12 | 5 | | CB | Mark McGuinness | 2 | 0 | 0 | 2 |
| 12 | 20 | | CF | Famara Diédhiou | 2 | 0 | 0 | 2 |
| 12 | 22 | | CF | Yakou Méïté | 2 | 0 | 0 | 2 |
| 12 | 32 | | RW | Ollie Tanner | 2 | 0 | 0 | 2 |
| 16 | 8 | | CM | Joe Ralls | 1 | 0 | 0 | 1 |
| 16 | 11 | | LM | Callum O'Dowda | 1 | 0 | 0 | 1 |
| 16 | 12 | | CB | Nathaniel Phillips | 1 | 0 | 0 | 1 |
| 16 | 17 | | LB | Jamilu Collins | 1 | 0 | 0 | 1 |
| 16 | 45 | | AM | Cian Ashford | 1 | 0 | 0 | 1 |
| Total | Total | Total | Total | Total | 51 | 0 | 7 | 58 |

### Assists record

    As of 4 May 2024
| Rank | No. | Nat. | Po. | Name | Championship | FA Cup | EFL Cup | Total |
| 1 | 8 | | CM | Joe Ralls | 7 | 0 | 0 | 7 |
| 2 | 6 | | DM | Ryan Wintle | 4 | 0 | 0 | 4 |
| 2 | 27 | | AM | Rubin Colwill | 2 | 0 | 2 | 4 |
| 2 | 38 | | RB | Perry Ng | 4 | 0 | 0 | 4 |
| 5 | 16 | | CF | Karlan Grant | 2 | 0 | 1 | 3 |
| 5 | 17 | | LB | Jamilu Collins | 3 | 0 | 0 | 3 |
| 7 | 14 | | RW | Josh Bowler | 2 | 0 | 0 | 2 |
| 7 | 47 | | LW | Callum Robinson | 2 | 0 | 0 | 2 |
| 9 | 11 | | LM | Callum O'Dowda | 1 | 0 | 0 | 1 |
| 9 | 12 | | CF | Iké Ugbo | 1 | 0 | 0 | 1 |
| 9 | 15 | | AM | David Turnbull | 1 | 0 | 0 | 1 |
| 9 | 19 | | AM | Romaine Sawyers | 0 | 0 | 1 | 1 |
| 9 | 22 | | CF | Yakou Méïté | 1 | 0 | 0 | 1 |
| 9 | 25 | | AM | Kieron Evans | 0 | 0 | 1 | 1 |
| 9 | 32 | | RW | Ollie Tanner | 1 | 0 | 0 | 1 |
| 9 | 35 | | CM | Andy Rinomhota | 0 | 0 | 1 | 1 |
| 9 | 45 | | AM | Cian Ashford | 1 | 0 | 0 | 1 |
| 9 | 49 | | LB | Luey Giles | 1 | 0 | 0 | 1 |
| Total | Total | Total | Total | Total | 33 | 0 | 6 | 39 |

### Disciplinary record

    As of 5 May 2024
| Rank | No. | Nat. | Po. | Name | Championship | Championship | Championship | FA Cup | FA Cup | FA Cup | EFL Cup | EFL Cup | EFL Cup | Total | Total | Total |
| 1 | 38 | | RB | Perry Ng | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 9 | 0 | 0 |
| 2 | 4 | | CB | Dimitrios Goutas | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 | 0 | 0 |
| 2 | 17 | | LB | Jamilu Collins | 8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 | 0 | 0 |
| 4 | 22 | | LW | Yakou Méïté | 7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 |
| 4 | 14 | | RW | Josh Bowler | 5 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 |
| 5 | 23 | | CM | Manolis Siopis | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 |
| 5 | 27 | | AM | Rubin Colwill | 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 5 | 0 | 0 |
| 8 | 6 | | DM | Ryan Wintle | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 |
| 9 | 8 | | CM | Joe Ralls | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| 9 | 9 | | CF | Kion Etete | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 0 | 0 |
| 9 | 16 | | CF | Karlan Grant | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| 9 | 18 | | CM | Ebou Adams | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| 9 | 32 | | RW | Ollie Tanner | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| 14 | 2 | | RB | Mahlon Romeo | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
| 14 | 5 | | CB | Mark McGuinness | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| 14 | 10 | | CM | Aaron Ramsey | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| 14 | 12 | | CB | Nathaniel Phillips | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| 14 | 24 | | CB | Jonathan Panzo | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| 20 | 15 | | AM | David Turnbull | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 20 | 21 | | GK | Jak Alnwick | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 20 | 26 | | CB | Jack Simpson | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 20 | 30 | | LB | Josh Wilson-Esbrand | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 20 | 35 | | CM | Andy Rinomhota | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 20 | 44 | | CB | Xavier Benjamin | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Total | Total | Total | Total | Total | 76 | 1 | 0 | 2 | 0 | 0 | 4 | 0 | 0 | 82 | 1 | 0 |

### Clean sheets

Includes all competitive matches. The list is sorted by squad number when total clean sheets are equal. Numbers in parentheses represent games where both goalkeepers participated and both kept a clean sheet; the number in parentheses is awarded to the goalkeeper who was substituted on, whilst a full clean sheet is awarded to the goalkeeper who was on the field at the start of play.
    As of match played 5 May 2024
| Rank | No. | Name | Matches played | Championship | FA Cup | EFL Cup | Total |
| 1 | 21 | Jak Alnwick | 25 | 7 | 0 | 0 | 7 |
| 2 | 1 | Ethan Horvath | 16 | 4 | 0 | 0 | 4 |
| 3 | 13 | Rúnar Alex Rúnarsson | 8 | 1 | 0 | 0 | 1 |

### Captains

    Correct as of match played on 5 May 2024
| No. | Pos. | Name | Championship | FA Cup | EFL Cup | Total |
| 8 | CM | Joe Ralls | 30 | 0 | 0 | 30 |
| 6 | CM | Ryan Wintle | 11 | 1 | 1 | 13 |
| 10 | CM | Aaron Ramsey | 2 | 0 | 0 | 2 |
| 19 | AM | Romaine Sawyers | 0 | 0 | 1 | 1 |
| 21 | GK | Jak Alnwick | 0 | 0 | 1 | 1 |

### Contracts

| Date | Position | Name | Status | Contract Length | Expiry Date |
| 9 June 2023 | CF | Mark Harris | Rejected | 0 years | June 2023 |
| 9 June 2023 | LB | Joel Bagan | Signed | 3 years | June 2026 |
| 9 June 2023 | DM | Eli King | Signed | 3 years | June 2026 |
| 4 August 2023 | DM | Ryan Wintle | Signed | 3 years | June 2026 |
| 17 August 2023 | CB | Mark McGuinness | Signed | 4 years | June 2027 |
| 24 August 2023 | RB | Perry Ng | Signed | 3 years | June 2026 |
| 15 September 2023 | CM | Joel Colwill | Signed | 5 years | June 2028 |
| 15 September 2023 | AM | Rubin Colwill | Signed | 4 years | June 2027 |
| 18 September 2023 | GK | Jak Alnwick | Signed | 1 year | June 2025 |
| 19 January 2024 | AM | Cian Ashford | Signed | 3+1⁄2 years | June 2027 |
| 11 March 2024 | CM | Joe Ralls | Signed | 1 year | June 2025 |

## Transfers
### In

| Date | Pos | Player | Transferred from | Fee |
| 5 July 2023 | CB | Dimitrios Goutas | Sivasspor | Free Transfer |
| 6 July 2023 | CB | Freddie Cook † | Leicester City | Free Transfer |
| 7 July 2023 | LW | Yakou Méïté | Reading | Free Transfer |
| 15 July 2023 | CM | Aaron Ramsey | Nice | Free Transfer |
| 21 July 2023 | CF | Finlay Johnson ‡ | Stevenage | Compensation |
| 18 August 2023 | CM | Manolis Siopis | Trabzonspor | Free Transfer |
| 15 September 2023 | GK | Corey Foggarty † | Cambrian & Clydach Vale | Free Transfer |
| 19 September 2023 | CB | Malachi Fagan-Walcott ‡ | Free agent | — |
| 23 January 2024 | CB | Ryotaro Tsunoda | Yokohama F. Marinos | Undisclosed |
| 1 February 2024 | GK | Ethan Horvath | Nottingham Forest | Undisclosed |
| 1 February 2024 | AM | David Turnbull | Celtic | Undisclosed |
‡ Signed initially for the Under-21s † Signed initially for the Academy

### Out

| Date | Pos | Player | Transferred to | Fee |
| 30 June 2023 | CB | Jac Clay | Pontyclun | Released |
| 30 June 2023 | CF | Mark Harris | Oxford United | Released |
| 30 June 2023 | DM | Taylor Jones | Cambrian & Clydach Vale | Released |
| 30 June 2023 | RW | Jack Leahy | Hornchurch | Released |
| 30 June 2023 | CB | Aidan MacNamara | Haverfordwest County | Released |
| 30 June 2023 | GK | Dillon Phillips | Rotherham United | Released |
| 30 June 2023 | CB | Owen Pritchard | Pontypridd United | Released |
| 30 June 2023 | RB | Tom Sang | Port Vale | Released |
| 30 June 2023 | RW | Gavin Whyte | Portsmouth | Released |
| 30 June 2023 | CF | Connor Wickham | Free agent | Released |
| 24 July 2023 | CF | Max Watters | Barnsley | Undisclosed |
| 30 August 2023 | GK | Ryan Allsop | Hull City | Undisclosed |
| 31 August 2023 | CB | Jack Simpson | Free agent | Mutual Consent |
| 1 February 2024 | RB | Vontae Daley-Campbell | Peterborough United | Mutual Consent |

### Loaned in

| Date | Pos | Player | Loaned from | Date until |
| 4 July 2023 | CF | Iké Ugbo | Troyes | 11 January 2024 |
| 15 July 2023 | CF | Karlan Grant | West Bromwich Albion | End of Season |
| 1 August 2023 | RW | Josh Bowler | Nottingham Forest | End of Season |
| 18 August 2023 | GK | Rúnar Alex Rúnarsson | Arsenal | 1 February 2024 |
| 1 September 2023 | CB | Jonathan Panzo | Nottingham Forest | End of Season |
| 30 January 2024 | CB | Nat Phillips | Liverpool | End of Season |
| 31 January 2024 | CF | Famara Diédhiou | Granada | End of Season |
| 1 February 2024 | LB | Josh Wilson-Esbrand | Manchester City | End of Season |
* ↑ On 11 January, Ugbo was recalled back early to Troyes.
* ↑ On 1 February, Rúnarsson was recalled back early to Arsenal.

### Loaned out

| Date | Pos | Player | Loaned to | End date |
| 10 July 2023 | CB | Oliver Denham | Dundee United | 22 January 2024 |
| 26 July 2023 | LB | Tom Davies | Kilmarnock | End of Season |
| 28 July 2023 | DM | Eli King | Morecambe | 8 January 2024 |
| 2 August 2023 | SS | Isaak Davies | Kortrijk | End of Season |
| 11 August 2023 | LB | Joel Bagan | Zulte Waregem | End of Season |
| 16 August 2023 | LW | Sheyi Ojo | Kortijk | End of Season |
| 24 August 2023 | GK | Rohan Luthra | Slough Town | 1 January 2024 |
| 26 August 2023 | CF | Chanka Zimba | Maidenhead United | End of Season |
| 12 January 2024 | CB | Malachi Fagan-Walcott | Dunfermline Athletic | End of Season |
| 15 January 2024 | DM | Eli King | Ross County | End of Season |
| 17 January 2024 | AM | Kieron Evans | Gateshead | End of Season |
| 23 January 2024 | CB | Ryotaro Tsunoda | Kortijk | End of Season |
| 31 January 2024 | CM | Ebou Adams | Derby County | End of Season |
| 31 January 2024 | CF | James Crole | Queen's Park | End of Season |
| 1 February 2024 | RB | Xavier Benjamin | Dunfermline Athletic | End of Season |
| 1 February 2024 | GK | Jake Dennis | Gloucester City | End of Season |
| 1 February 2024 | CM | Ryan kavanagh | Truro City | End of Season |
| 1 February 2024 | CM | Andy Rinomhota | Rotherham United | End of Season |
| 2 February 2024 | CB | Oliver Denham | Sligo Rovers | End of Season |
* ↑ On 22 January 2024, Denham was recalled back early from his season-long loan at Dundee United.
* ↑ On 8 January, King was recalled back early from his season-long loan at Morecambe.
* ↑ On 8 January, Zimba's loan at Maidenhead United was extended until the end of season.

## Pre-season and friendlies

On 9 June, Cardiff City announced their first pre-season friendly, against Wycombe Wanderers to contest Joe Jacobson's tesimonial. Two weeks later, two home friendlies were confirmed, against Penybont and The New Saints. Two behind-closed-doors fixtures were also included during pre-season, against Cambridge United and Bristol Rovers.
Win  Draw  Loss  Fixtures

## Competitions
### Overall record

| Competition | First match | Last match | Starting round | Final position | Record | Record | Record | Record | Record | Record | Record | Record |
| Competition | First match | Last match | Starting round | Final position | Pld | W | D | L | GF | GA | GD | Win % |
| Championship | 6 August 2023 | 4 May 2024 | Matchday 1 | 12th | 46 | 19 | 5 | 22 | 53 | 70 | −17 | 041.30 |
| FA Cup | 6 January 2024 | 6 January 2024 | Third round | Third round | 1 | 0 | 0 | 1 | 0 | 4 | −4 | 000.00 |
| EFL Cup | 9 August 2023 | 27 September 2023 | First round | Third Round | 3 | 1 | 1 | 1 | 7 | 8 | −1 | 033.33 |
| Total | Total | Total | Total | Total | 50 | 20 | 6 | 24 | 60 | 82 | −22 | 040.00 |
Last updated: 4 May 2024 Source: Soccerway

### Championship
#### League table

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts |
| 9 | Coventry City | 46 | 17 | 13 | 16 | 70 | 59 | +11 | 64 |
| 10 | Preston North End | 46 | 18 | 9 | 19 | 56 | 67 | −11 | 63 |
| 11 | Bristol City | 46 | 17 | 11 | 18 | 53 | 51 | +2 | 62 |
| 12 | Cardiff City | 46 | 19 | 5 | 22 | 53 | 70 | −17 | 62 |
| 13 | Millwall | 46 | 16 | 11 | 19 | 45 | 55 | −10 | 59 |
| 14 | Swansea City | 46 | 15 | 12 | 19 | 59 | 65 | −6 | 57 |
| 15 | Watford | 46 | 13 | 17 | 16 | 61 | 61 | 0 | 56 |

#### Results summary

| Overall | Overall | Overall | Overall | Overall | Overall | Overall | Overall | Home | Home | Home | Home | Home | Home | Away | Away | Away | Away | Away | Away |
Last updated: 4 May 2024. Source: Soccerway

#### Results by round

| Round | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 33 | 29$^1$ | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
| Ground | A | H | A | H | A | H | H | A | H | A | H | A | A | H | A | H | A | H | A | H | H | A | A | H | H | A | H | A | A | H | A | A | H | H | A | H | H | A | H | A | H | A | A | H | H | A |
| Result | D | L | L | W | L | W | W | W | W | L | D | L | W | W | D | L | W | L | L | W | L | L | W | D | L | W | L | L | W | L | L | L | D | W | W | W | W | L | L | W | L | W | L | W | L | L |
| Position | 10 | 17 | 20 | 17 | 19 | 15 | 10 | 7 | 6 | 8 | 8 | 11 | 7 | 6 | 7 | 9 | 7 | 9 | 11 | 7 | 10 | 12 | 10 | 11 | 14 | 9 | 13 | 14 | 13 | 14 | 14 | 14 | 14 | 14 | 11 | 10 | 10 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 12 | 12 |
* $^1$ Matchday 29 (vs Blackburn Rovers) was postponed due to Blackburn's FA Cup involvement.

#### Matches

On 22 June, the EFL Championship fixtures were released.
Win  Draw  Loss  Fixtures

### FA Cup

Cardiff entered the competition in the third round, as a Championship club, and were drawn away to Sheffield Wednesday.
Win  Draw  Loss  Fixtures

### EFL Cup

Cardiff were drawn at home to Colchester United in the first round, and then away to Birmingham City in the second round and Blackburn Rovers in the third round.
Win  Draw  Loss  Fixtures

### Welsh League Cup

Cardiff were drawn away against Cambrian & Clydach Vale in the first round.
Win  Draw  Loss  Fixtures