# 2019–20 Birmingham City F.C. season

The 2019–20 season was Birmingham City Football Club's 117th season in the English football league system and ninth consecutive season in the second-tier EFL Championship. The team finished 20th in the Championship, having avoided relegation on the final day of the season despite losing their own match, after other results went in their favour and Wigan Athletic suffered a 12-point deduction for entering administration. As with all English Football League clubs, the first team also competed in the FA Cup and EFL Cup. They reached the fifth round of the FA Cup, in which they lost 1–0 away to Premier League club Leicester City, and were eliminated in the first round of the EFL Cup, a match in which an inexperienced Birmingham team lost 3–0 away to Portsmouth of League One.
On 13 March 2020, as an initial response to the coronavirus pandemic, professional football in England was suspended until 3 April at the earliest. The Championship resumed behind closed doors on 20 June.
Pep Clotet confirmed on 8 June that he would leave the club at the end of the season, but after a series of poor results, he left by mutual consent on 8 July with four matches of the season remaining.
The season covered the period from 1 July 2019 to the end of the 2019–20 Championship season.
This season is best known for being the debut season of Jude Bellingham, who has gone on to become one of the best players in world football.

## Background and pre-season

After a 2018–19 season in which, according to the Birmingham Mail, manager Garry Monk turned the team into "a side vastly superior than the sum of its parts" to keep them in the top half of the table until a run of losses in March and a nine-point deduction for breaches of the EFL's Profitability and Sustainability Rules led to a 17th-place finish. He was sacked on 18 June. CEO Ren Xuandong claimed it was because of "his attempt to use a single agent in transfer deals and his refusal to adapt the team's style of play"; "sources close to Monk" disagreed, and "suggested that Ren's comments were designed to explain the surprise sacking ... that has been badly received by many Birmingham fans." A club statement called for "a fresh and modern footballing philosophy" and committed to improving the squad "sensibly and effectively" while making best use of emerging in-house players. Monk's assistant, Pep Clotet, was appointed caretaker head coach, the remainder of the backroom staff stayed in post, and Craig Gardner was given a role as player-coach.
In response to the financial issues, Birmingham had agreed a business plan with the EFL. When they refused to sell top scorer Ché Adams in January 2019, considering that no offer received was enough to force their hand given that the player could neither be replaced nor loaned back because of the transfer restriction, the Times had suggested that such a refusal might constitute a further breach of the P&S rules. In May 2019, the club was duly charged with failure to adhere to their business plan. In March 2020, 14 months after the alleged breach, it was cleared; the EFL appealed, successfully, but the club received only a reprimand. The decision hinged on whether it was required merely to use its best endeavours to cut spending by a specified amount by the end of the January 2019 transfer window, or to make the cuts regardless of the effect on business efficiency.
The home kit consisted of a royal blue shirt with navy sleeves, white stripes on the shoulders and yellow trim at the collar and cuffs, white shorts with blue stripes down the side seams, and navy socks with white trim at the turnover. The away kit was charcoal, with white stripes on the shoulders, the side seams of the shorts, and the sock turnovers. The team also used the 2018–19 yellow and blue colours as a change kit. The kits were supplied by Adidas and bore the logo of the club's new principal sponsor, Irish bookmaker BoyleSports.
Pre-season match details :
| Date | Opponents | Venue | Result | Score F–A | Scorers | Attendance |
| 11 July 2019 | Cova da Piedade | N | D | 1–1(3–4 pens.) | Roberts 36' | |
| 13 July 2019 | Vitória de Setúbal | A | D | 2–2(3–5 pens.) | Jutkiewicz 13', Pedersen 55' | |
| 19 July 2019 | Swindon Town | N | W | 6–1 | Crowley 5', Vassell 19', Bailey 29', C. Gardner 33', Bellingham (2) 74', 84' | |
| 20 July 2019 | Bristol Rovers | A | W | 2–1 | Pedersen 12', Jutkiewicz 48' | 2,743 |
| 27 July 2019 | Brighton & Hove Albion | H | L | 0–4 | | 4,846 |
* ↑ Because of problems with Swindon's County Ground pitch, the match was moved to Birmingham's training ground and played behind closed doors.

## EFL Championship
### August–September

Pep Clotet's first competitive match as Birmingham City's head coach was away to Brentford on 3 August 2019. The team lined up in a 3–4–2–1 formation with Lee Camp in goal, Kristian Pedersen, Marc Roberts and newly appointed captain Harlee Dean in central defence, Maxime Colin and debutant Steve Seddon at wing back/wide midfielder, David Davis alongside Gary Gardner in central midfield, and Jacques Maghoma and new arrival Dan Crowley supporting centre forward Lukas Jutkiewicz. According to Sky Sports, "Blues were saved by a combination of the woodwork – which Brentford hit three times before the break – and keeper Lee Camp", and the only goal was scored by Pedersen, whose header from Seddon's cross "looped powerfully and perfectly" over the goalkeeper from outside the penalty area.
Defensive midfielder Ivan Šunjić made a first start and attacking midfielder Fran Villalba made a lively debut at home to Bristol City. Both sides missed chances before Jutkiewicz scored with a powerful header from Roberts' chipped cross. Late in the game, the defence was caught out of position for the visitors' equaliser – last man Wes Harding apologised afterwards for his part in the proceedings. At Nottingham Forest, an unchanged starting eleven suffered Birmingham's first league defeat since March. After a bright start, they were unable to prevent Joe Lolley reacting quickly to a 15th-minute free kick and running through to score; the same player's run and cross set up Lewis Grabban's header seven minutes later, and Michael Dawson's second-half header completed a 3–0 win. Three days later, Birmingham made amends at home to Barnsley. Harding replaced the injured Colin, Seddon returned to the team, and Álvaro Giménez started alongside Jutkiewicz up front. After a low-key and defensively sound first hour, Jutkiewicz converted Harding's cross, Giménez chested down Seddon's through ball and lobbed the goalkeeper, and loanee winger Jefferson Montero made a lively 10-minute cameo on his debut.
In the televised lunchtime visit to Swansea City, still goalless after an hour despite the hosts' domination, Birmingham conceded three in 12 second-half minutes. Montero, who was contractually unavailable to face his parent club, made his full debut at home to Stoke City; he lasted only half an hour before injury forced his replacement by Jude Bellingham, who had made his first Football League appearance as a late substitute at Swansea. A penalty should have been awarded when Danny Batth hauled Giménez back, forced him to the floor and kicked him in the face, and shortly after Dan Crowley replaced the ineffective Villalba, Stoke opened the scoring. Birmingham livened up, Jutkewicz outjumped Tommy Smith at the far post to equalise, and three minutes later, Bellingham's shot crept into the net via a generous deflection to win the match and make him Birmingham's youngest ever goalscorer at 16 years and 93 days.
September began with the visit to Charlton Athletic unbeaten at home for nearly a year and managed by Birmingham's 2011 League Cup-winner Lee Bowyer. Bellingham scored the only goal of the game after a pinpoint pass from Kerim Mrabti. Towards the end, Bowyer's reaction to a time-wasting incident involving the coaching staff saw him sent off and Birmingham's bench receive a yellow card. An unchanged starting eleven struggled at home to Preston North End, who won the match with a first-half free kick that Camp pushed onto the post from which Sean Maguire tapped in the rebound. Derby County hosted Birmingham just days after two Derby players were charged with drink-driving following a car crash that left their captain badly injured. Derby took a two-goal lead, but within minutes Birmingham had equalised with goals from Gardner and Šunjić, the latter a "rasping rising 20-year shot which flew into the net" and won him the Championship Goal of the Month award. Former Birmingham loanee Krystian Bielik fouled Giménez for a penalty, Jutkiewicz missed it, and Derby secured the win with 15 minutes left.

### October–December

Loanee Jake Clarke-Salter made his first league appearance for Birmingham, in place of the injured Roberts away to newly promoted Wigan Athletic. Neither side looked like scoring until Camp let a shot from distance go underneath his body. At home to Middlesbrough, Birmingham had most of the play, but the only goal was Villalba's first for the club from the edge of the area. Both Gardner and Pedersen hit the woodwork, and former Birmingham goalkeeper Darren Randolph made what BBC Sport's reporter dubbed a "string of sublime saves", before, with three minutes of normal time remaining, a defensive error led to an equaliser. Two minutes later, the 19-year-old academy product Odin Bailey headed home Crowley's cross to confirm a first win after three consecutive defeats. Birmingham were the visitors as Leeds United celebrated their centenary: they were defensively sound until Colin allowed Jack Harrison to outpace him and cross for Kalvin Phillips to score. Incidents after the match both inside and outside the ground were described by a police spokesman as "the worst trouble we have seen at Elland Road for over a decade." At home to Blackburn Rovers, Colin headed home Crowley's cross for the only goal after half an hour; Birmingham again failed to convert chances but were able to hold on to their lead. October ended with a third consecutive home win, by two goals to one against Luton Town, that took Birmingham to 11th in the table, one point outside the play-off places; the goals both came from headers, Pedersen's on the stroke of half-time and Jutkiewicz from a corner after 82 minutes.
Birmingham went through November without a win. Away to Cardiff City, Pedersen gave them an early lead but they failed to convert their first-half superiority into goals, Dean conceded a penalty for shirt-pulling which according to BBC Sport's reporter "was tough to spot", and the momentum changed. At 2–1, Cardiff had a player sent off, but they then increased their lead on the break, Dean was sent off in stoppage time, and the match ended 4–2. At home to Fulham, claims that Roberts had been fouled were to no avail when Camp dropped a cross at the feet of Aleksandar Mitrović. Backup goalkeeper Connal Trueman made his first appearance of the season and Jérémie Bela his first start in a better team performance at Huddersfield Town, in which Birmingham came back from a goal behind when Roberts' header was deflected in off Jutkiewicz's shoulder. Ahead of the visit to Garry Monk's new club, Sheffield Wednesday, the former Birmingham manager claimed he had made an "error of judgment" in working with Clotet, suggested he was untrustworthy, and refused the customary pre-match handshake. Starting instead of Jutkiewicz, Giménez opened the scoring from Bela's cross, but Wednesday equalised with ten minutes left. BBC Sport thought Birmingham "twice unlucky not to be awarded spot-kicks" as Millwall failed to retain a lead thanks to a combination of Clarke-Salter's header and Trueman's performance in goal.
Making his first start, Josh McEachran contributed to a 3–2 win away to Reading in which Birmingham's former captain, Michael Morrison, opened the scoring with an own goal, and Bela scored with a 25-yard (23 m) free kick that was voted Birmingham's goal of the season before setting up Giménez' matchwinner. The rest of the year went winless and, but for Mrabti's penalty at Blackburn Rovers, pointless. Defensively poor against Queens Park Rangers and "half a yard off everything" against Hull City, Birmingham led second-placed West Bromwich Albion until substitute Charlie Austin scored two late goals, and came from behind to equalise three times against table-topping Leeds United before losing 5–4 to Wes Harding's 95th-minute own goal.

### January–March

Bottom-of-the-table Wigan Athletic celebrated the new year with their first away won of the season as, with two senior centre-backs injured, Clotet's selection of midfielder Gary Gardner as a makeshift central defender, in preference to Harding or the youngster Bajrami, backfired. A positional mix-up between Bellingham and Gardner led to Wigan's first goal, their second was his own goal, and the third came when Jutkiewicz's attempt at a headed clearance rebounded off a Wigan player. Away to Luton Town, who had replaced Wigan at the foot of the table, Clotet again made changes: Clarke-Salter was fit to play at centre-back and, despite a fine performance by Trueman against Wigan, Camp returned in goal, and in central midfield, Davis came in to partner Gardner, who scored the winning goal. At home to Cardiff City, with Roberts fit to replace the suspended Dean and Sunjic alongside Bellingham, who opened the scoring and came close to a second, but Cardiff equalised with a header from a corner.
Jutkiewicz scored his tenth goal of the season at Middlesbrough before the hosts equalised, and Camp saved a penalty. Late in the game a collision between Bellingham and Marcus Tavernier left the latter on the ground; both teams played on, and Jutkiewicz appeared to score. However, with Middlesbrough staff on the field demanding play be stopped for treatment to their player, the referee blew his whistle before the ball crossed the line. In the subsequent melee, two staff members – one from each side – were sent off. Writing in The Sunday Times, Rod Liddle saw the incident as an example of the increasing trend for players, with the apparent support of their managerial staff, to "play possum" to provoke the referee into stopping an opposition attack for fear of missing a serious injury.
On 29 January, Aston Villa recalled striker Scott Hogan from Stoke City, where he had scored little and fallen out of favour, and loaned him to Birmingham. Playing in partnership with Jutkiewicz, he was an immediate success. Visitors Nottingham Forest scored early, but when Pedersen conceded a penalty, Camp saved and initiated a Birmingham attack which ended with Hogan's close-range equaliser from Jutkiewicz's headed pass. Pedersen scored a late winner. At Bristol City, despite Roberts' careless back-pass gifting the hosts a first-minute lead, Hogan was available to tap in the rebound from Bela's shot, and Birmingham went on to win 3–1, and away at Barnsley, he missed a straightforward chance early in the game but scored a second-half winner. Hogan's dummy was instrumental in Jutkiewicz's goal in a draw at Brentford, and he scored a last-minute equaliser against Sheffield Wednesday from Jutkiewicz's header. A goalless draw at Millwall, in which Pedersen's volleyed strike was disallowed for pushing by Dean, was marred by reported racial abuse of Jérémie Bela by a spectator. February ended with a 2–2 draw away to Queens Park Rangers in which Bela injured a hamstring and Hogan's two goals took his record to six in seven league matches, which earned him the EFL Championship Player of the Month award.

### Season suspended

Hogan scored again as Birmingham lost 3–1 at home to Reading on 7 March. Six days later, as an initial response to the coronavirus pandemic, professional football in England was suspended until 3 April at the earliest. Birmingham were reported to be the first Championship club to ask their higher-paid players to take wage deferrals over the coronavirus-affected period; some at least agreed.
At a meeting in May, Championship clubs confirmed their intention to finish the season if possible, and aimed to resume training on 25 May. On 31 May, the EFL announced a restart date of 20 June, "subject to the strict proviso that all safety requirements and government guidance is met". Matches would be played behind closed doors, would include drinks breaks, and teams could name nine substitutes and use five. Birmingham's squad was significantly reduced in size. Of those whose contracts expired on 30 June, Camp, Hogan and Clarke-Salter extended their deals to cover the last nine games, while the rest, including first-team regulars Maghoma and Mrabti, did not. Fringe players returning from loans at clubs whose seasons had been ended early, although theoretically available for the parent club, were effectively unusable after the EFL clarified that they could only be used if a club could not otherwise field a full 20-man matchday squad even after under-23s, academy players and scholars had been included.
With two weeks to go before the restart, Birmingham announced that Clotet would be leaving at the end of the season to "explore other coaching opportunities", having, in his view, fulfilled his brief of improving the playing style, developing young and home-grown players, and still getting acceptable results within restrictive financial constraints.

### Restart: the last nine matches

Birmingham resumed their season 16th in the table and eight points clear of the relegation places. Without the injured Pedersen, Roberts and Šunjić, Clotet said that the "last thing [he] wanted was an open game". His team complied, putting up a sound defensive display to secure a goalless draw away to West Bromwich Albion. Visitors Hull City scored two first-half goals before Bela replaced Kieftenbeld at half-time and Birmingham levelled the scores. Hull regained the lead when the defensive wall jumped over Herbie Kane's 20-yard (18 m) free kick, but Gardner's 88th-minute header from Bela's cross secured a draw. A 3–0 defeat at home to relegation rivals Huddersfield Town preceded a visit to Fulham, who were without star striker Aleksandar Mitrović, in which Bellingham might have had an early hat-trick and Camp put in an excellent performance to hold Fulham out until the fifth minute of stoppage time. Jutkiewicz scored after five minutes against Swansea City, but increasingly characteristic defensive frailty, particularly in home matches, led to a 3–1 loss, after which board and Clotet came to a mutual agreement to part ways immediately. With four matches left and four points above the relegation zone, professional development coach Steve Spooner and first-team coach Craig Gardner took caretaker charge. Jutkiewicz denied that the players had been adversely affected by knowing that Clotet would be leaving, and stated that they needed to take collective responsibility for what happened on the pitch.
A defeat at Stoke City was mitigated by the confirmation that Wigan Athletic had entered administration and would, according to league rules, be deducted 12 points if they finished outside the relegation positions. Hogan missed an early penalty at home to fellow strugglers Charlton Athletic, who took the lead after an hour; Bellingham came off the bench, "lifted Blues with his energy and ingenuity", and crossed for Dean's blocked shot that was turned in by Jutkiewicz for a stoppage-time equaliser and a career-record 15th goal of the season. Yet another failure to defend set pieces led to a 2–0 defeat away to Preston North End, which left Birmingham facing the last match of the season, at home to Derby County, unlikely to go down but still not safe. Before that match, Bellingham's transfer to Borussia Dortmund, for a Birmingham club-record fee understood by Sky Sports to be an initial £25 million – making him the most expensive 17-year-old in history – plus "several million more" dependent on performance-related criteria, was confirmed. He was allowed to play, and despite Birmingham conceding three goals at home for the sixth time in seven matches, the defeat was not enough to relegate them.

### Match results

General source: Match content not verifiable from these sources is referenced individually.
| Date | League position | Opponents | Venue | Result | Score F–A | Scorers | Attendance |
| 3 August 2019 | 8th | Brentford | A | W | 1–0 | Pedersen 18' | 11,332 |
| 10 August 2019 | 8th | Bristol City | H | D | 1–1 | Jutkiewicz 64' | 21,808 |
| 17 August 2019 | 15th | Nottingham Forest | A | L | 0–3 | | 27,281 |
| 20 August 2019 | 8th | Barnsley | H | W | 2–0 | Jutkiewicz 69', Giménez 77' | 20,061 |
| 25 August 2019 | 15th | Swansea City | A | L | 0–3 | | 17,277 |
| 31 August 2019 | 9th | Stoke City | H | W | 2–1 | Jutkiewicz 73', Bellingham 76' | 20,652 |
| 14 September 2019 | 8th | Charlton Athletic | A | W | 1–0 | Bellingham 52' | 18,752 |
| 21 September 2019 | 11th | Preston North End | H | L | 0–1 | | 20,806 |
| 28 September 2019 | 13th | Derby County | A | L | 2–3 | G. Gardner 56', Šunjić 59' | 28,454 |
| 1 October 2019 | 14th | Wigan Athletic | A | L | 0–1 | | 9,244 |
| 4 October 2019 | 12th | Middlesbrough | H | W | 2–1 | Villalba 33', Bailey 89' | 19,703 |
| 19 October 2019 | 12th | Leeds United | A | L | 0–1 | | 35,731 |
| 22 October 2019 | 11th | Blackburn Rovers | H | W | 1–0 | Colin 31' | 18,561 |
| 26 October 2019 | 11th | Luton Town | H | W | 2–1 | Pedersen 45+3', Jutkiewicz 82' | 21,799 |
| 2 November 2019 | 12th | Cardiff City | A | L | 2–4 | Pedersen 3', Šunjić 89' | 23,778 |
| 9 November 2019 | 13th | Fulham | H | L | 0–1 | | 21,334 |
| 23 November 2019 | 14th | Huddersfield Town | A | D | 1–1 | Jutkiewicz 78' | 22,573 |
| 27 November 2019 | 15th | Sheffield Wednesday | A | D | 1–1 | Giménez 48' | 22,059 |
| 30 November 2019 | 15th | Millwall | H | D | 1–1 | Clarke-Salter 79' | 19,715 |
| 7 December 2019 | 13th | Reading | A | W | 3–2 | Morrison 41' o.g., Bela 59', Giménez 88' | 14,103 |
| 11 December 2019 | 15th | Queens Park Rangers | H | L | 0–2 | | 18,161 |
| 14 December 2019 | 15th | West Bromwich Albion | H | L | 2–3 | Jutkiewicz 3', Dean 47' | 20,796 |
| 21 December 2019 | 15th | Hull City | A | L | 0–3 | | 11,334 |
| 26 December 2019 | 16th | Blackburn Rovers | A | D | 1–1 | Mrabti 63' pen. | 15,887 |
| 29 December 2019 | 17th | Leeds United | H | L | 4–5 | Bellingham 27', Jutkiewicz 61', 90+1', Bela 83' | 22,059 |
| 1 January 2020 | 18th | Wigan Athletic | H | L | 2–3 | Mrabti 39', Maghoma 81' | 18,616 |
| 11 January 2020 | 18th | Luton Town | A | W | 2–1 | Jutkiewicz 4', G. Gardner 69' | 10,062 |
| 18 January 2020 | 18th | Cardiff City | H | D | 1–1 | Bellingham 4' | 20,482 |
| 21 January 2020 | 18th | Middlesbrough | A | D | 1–1 | Jutkiewicz 27' | 18,350 |
| 1 February 2020 | 17th | Nottingham Forest | H | W | 2–1 | Hogan 42', Pedersen 74' | 20,837 |
| 7 February 2020 | 14th | Bristol City | A | W | 3–1 | Hogan 23', Weimann 30' o.g., Jutkiewicz 90+2' | 22,065 |
| 11 February 2020 | 14th | Barnsley | A | W | 1–0 | Hogan 76' | 12,788 |
| 15 February 2020 | 14th | Brentford | H | D | 1–1 | Jutkiewicz 13' | 20,379 |
| 22 February 2020 | 14th | Sheffield Wednesday | H | D | 3–3 | Murphy 6' o.g., Jutkiewicz 30', Hogan 90+1' | 22,120 |
| 26 February 2020 | 14th | Millwall | A | D | 0–0 | | 11,209 |
| 29 February 2020 | 15th | Queens Park Rangers | A | D | 2–2 | Hogan 24', 81' | 14,113 |
| 7 March 2020 | 16th | Reading | H | L | 1–3 | Hogan 6' | 19,525 |
| 20 June 2020 | 16th | West Bromwich Albion | A | D | 0–0 | | 0 |
| 27 June 2020 | 16th | Hull City | H | D | 3–3 | G. Gardner 47', 88', Crowley 60' | 0 |
| 1 July 2020 | 17th | Huddersfield Town | H | L | 0–3 | | 0 |
| 4 July 2020 | 17th | Fulham | A | L | 0–1 | | 0 |
| 8 July 2020 | 17th | Swansea City | H | L | 1–3 | Jutkiewicz 5' | 0 |
| 12 July 2020 | 18th | Stoke City | A | L | 0–2 | | 0 |
| 15 July 2020 | 19th | Charlton Athletic | H | D | 1–1 | Jutkiewicz 90+3' | 0 |
| 18 July 2020 | 20th | Preston North End | A | L | 0–2 | | 0 |
| 22 July 2020 | 20th | Derby County | H | L | 1–3 | Šunjić 56' | 0 |

### League table (part)

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Promotion, qualification or relegation |
| 18 | Huddersfield Town | 46 | 13 | 12 | 21 | 52 | 70 | −18 | 51 | |
| 19 | Luton Town | 46 | 14 | 9 | 23 | 54 | 82 | −28 | 51 | |
| 20 | Birmingham City | 46 | 12 | 14 | 20 | 54 | 75 | −21 | 50 | |
| 21 | Barnsley | 46 | 12 | 13 | 21 | 49 | 69 | −20 | 49 | |
| 22 | Charlton Athletic (R) | 46 | 12 | 12 | 22 | 50 | 65 | −15 | 48 | Relegation to EFL League One |

### Result summary

| Overall | Overall | Overall | Overall | Overall | Overall | Overall | Overall | Home | Home | Home | Home | Home | Home | Away | Away | Away | Away | Away | Away |
Source:

## FA Cup

As with all teams in the top two division, Birmingham entered the FA Cup in the third round. They were drawn to play at home to Championship club Blackburn Rovers. Clotet made seven changes from the previous league match, with Camp, Clarke-Salter, Davis, Maghoma, Crowley, Montero and Giménez replacing Trueman, Jutkiewicz, Bellingham, Bela, McEachran, Mrabti and Šunjić in the starting eleven. Crowley gave Birmingham an early lead with an individual effort, but Blackburn came back into the match and, after an hour, Šunjić came on for Gary Gardner to solidify the defence. Within two minutes, he fouled Sam Gallagher for a penalty and was sent off. Birmingham were obliged to use their last substitute when Harding came on for the tiring Clarke-Salter, and were in danger of being overrun when Maghoma's run played in Bela whose 90th-minute shot was diverted low into the far corner to give his team a 2–1 win.
In the fourth round, Birmingham were drawn away to the winners of a replay between League One clubs Bristol Rovers and Coventry City. Coventry, who were without their own ground for the 2019–20 season and had entered into a ground-sharing agreement with Birmingham, won the replay, so Birmingham faced the prospect of using the away dressing room and with their supporters in the away end, while their tenants benefited from the home team's facilities.
FA Cup match details :
| Round | Date | Opponents | Venue | Result | Score F–A | Scorers | Attendance |
| Third round | 4 January 2020 | Blackburn Rovers | H | W | 2–1 | Crowley 4', Bela 90' | 7,330 |
| Fourth round | 25 January 2020 | Coventry City | A | D | 0–0 | | 21,193 |
| Fourth round replay | 4 February 2020 | Coventry City | H | D | 2–2 (4–1 p) | Dean 90+2', Bela 120' | 11,680 |
| Fifth round | 4 March 2020 | Leicester City | A | L | 0–1 | | 27,181 |

## EFL Cup

Birmingham were drawn to play away to League One club Portsmouth in the first round. Clotet chose to make nine changes from the team that started the opening league match, and the resulting eleven included four debutants: Jake Clarke-Salter and Geraldo Bajrami in defence, and Agus Medina and Jude Bellingham in midfield. All but five of the matchday squad had come through Birmingham's youth system. Bellingham became Birmingham City's youngest ever first-team player at the age of 16 years, 38 days, beating the record of 16 years 139 days set by Trevor Francis in 1970. After a lively start, Portsmouth's strength and experience brought two first-half goals, and the third followed soon after half-time. Another two academy products, midfielders Odin Bailey and Caolan Boyd-Munce, made their debuts in the second half.
EFL Cup match details :
| Round | Date | Opponents | Venue | Result | Score F–A | Scorers | Attendance | Refs |
| First round | 6 August 2019 | Portsmouth | A | L | 0–3 | | 9,913 | |

## Transfers
### In

| Date | Player | Club † | Fee |
| 5 June 2019 | Gary Gardner | Aston Villa | Undisclosed |
| 5 July 2019 | Jayden Reid | (Swansea City) | Free |
| 18 July 2019 | Dan Crowley | Willem II | Undisclosed |
| 26 July 2019 | Ivan Šunjić | Dinamo Zagreb | Undisclosed |
| 27 July 2019 | Iván Guzmán | (UE Olot) | Free |
| 28 July 2019 | Agus Medina | (UE Cornellà) | Free |
| 6 August 2019 | Álvaro Giménez | Almería | Undisclosed |
| 7 August 2019 | Fran Villalba | Valencía | Free |
| 15 August 2019 | Miguel Fernández | (UE Cornellà) | Free |
| 1 September 2019 | Bernard Sun | (Estudiantes de Murcia) | Free |
| 27 September 2019 | Josh McEachran | (Brentford) | Free |
| 6 November 2019 | Jérémie Bela | (Albacete) | Free |
    † Brackets round a club's name indicate the player's contract with that club had expired before he joined Birmingham.

#### Loans in

| Date | Player | Club | Return |
| 24 July 2019 | Jake Clarke-Salter | Chelsea | End of season |
| 31 July 2019 | Moha Ramos | Real Madrid | End of season |
| 9 August 2019 | Jefferson Montero | Swansea City | End of season |
| 29 January 2020 | Scott Hogan | Aston Villa | End of season |

### Out

| Date | Player | Club † | Fee |
| 1 July 2019 | Che Adams | Southampton | Undisclosed |
| 8 August 2019 | Isaac Vassell | Cardiff City | Undisclosed |
| 30 June 2020 | George Baker | (Ytterhogdals IK) | Released |
| 30 June 2020 | Joshua Bradley-Hurst | | Released at end of scholarship |
| 30 June 2020 | Ben Forrest | (Stafford Rangers) | Released |
| 30 June 2020 | Craig Gardner | | Retired |
| 30 June 2020 | Jonathan Grounds | (Swindon Town) | Released |
| 30 June 2020 | Rhys Hilton | (Sutton Coldfield Town) | Released |
| 30 June 2020 | Cheick Keita | (HNK Gorica) | Released |
| 30 June 2020 | Nick Kinina | | Released at end of scholarship |
| 30 June 2020 | Kai Knight | | Released at end of scholarship |
| 30 June 2020 | Michael Luyambula | (VfB Lübeck) | Released |
| 30 June 2020 | Jacques Maghoma | (East Bengal) | Released |
| 30 June 2020 | Olly McCoy | | Released |
| 30 June 2020 | Kerim Mrabti | (KV Mechelen) | Released |
| 30 June 2020 | Corey O'Keeffe | (Mansfield Town) | Released |
| 30 June 2020 | Lucas Powell | (Wigan Athletic) | Released at end of scholarship |
| 30 June 2020 | Adam Siviter | | Released |
| 30 June 2020 | David Stockdale | (Wycombe Wanderers) | Released |
| 30 June 2020 | Oumar Traoré | (Nîmes B) | Released at end of scholarship |
| 30 June 2020 | Jake Weaver | (Leamington) | Released |
| 22 July 2020 | Álvaro Giménez | Cádiz | Undisclosed |
| 23 July 2020 | Jude Bellingham | Borussia Dortmund | Undisclosed |
| 3 August 2020 | Lee Camp | | Released |
    † Brackets round a club's name denote the player joined that club after his Birmingham City contract expired.
* ↑ The fee was undisclosed, but was understood by Sky Sports to be an initial £25 million – making him the most expensive 17-year-old in history – plus "several million more" dependent on performance-related criteria.

#### Loans out

| Date | Player | Club | Return |
| 12 July 2019 | Michael Luyambula | Crawley Town | Recalled 18 January 2020 |
| 18 July 2019 | Zach Jeacock | Gloucester City | Recalled 4 February 2020 |
| 26 July 2019 | Adam Siviter | Hungerford Town | End of season |
| 27 July 2019 | Iván Guzmán | UE Cornellà | End of season |
| 31 July 2019 | Jake Weaver | Leamington | End of season |
| 2 August 2019 | Remeao Hutton | Yeovil Town | End of season |
| 2 August 2019 | Olly McCoy | Yeovil Town | 2 January 2020 |
| 8 August 2019 | Josh Dacres-Cogley | Crawley Town | End of season |
| 9 August 2019 | Corey O'Keeffe | Macclesfield Town | End of season |
| 22 August 2019 | Charlie Lakin | Stevenage | End of season |
| 2 September 2019 | Joshua Bradley-Hurst | Gloucester City | October 2019 |
| 2 January 2020 | Steve Seddon | Portsmouth | End of season |
| 15 January 2020 | Agus Medina | UE Cornellà | End of season |
| 24 January 2020 | Odin Bailey | Forest Green Rovers | End of season |
| 24 January 2020 | Olly McCoy | Wealdstone | End of season |
| 24 January 2020 | David Stockdale | Wycombe Wanderers | End of season |
| 27 January 2020 | Fran Villalba | Almería | End of season |
| 30 January 2020 | Michael Luyambula | AFC Telford United | 16 May 2020 |
| 31 January 2020 | David Davis | Charlton Athletic | End of season |
| 31 January 2020 | Joe Redmond | Cork City | 30 June 2020 |
| 31 January 2020 | Álvaro Giménez | Cádiz | Made permanent 22 July 2020 |
| 20 February 2020 | Geraldo Bajrami | Solihull Moors | End of season |
| 27 February 2020 | Joshua Bradley-Hurst | Leamington | Short-term |

## Appearances and goals

    Sources:
    Numbers in parentheses denote appearances made as a substitute.
    Players marked † left the club during the playing season.
    Players with names in italics and marked * were on loan from another club for the whole of their season with Birmingham.
    Players listed with no appearances have been in the matchday squad but only as unused substitutes.
    Key to positions: GK – Goalkeeper; DF – Defender; MF – Midfielder; FW – Forward
Players' appearances and goals by competition :
| No. | Pos. | Nat. | Name | League | League | FA Cup | FA Cup | EFL Cup | EFL Cup | Total | Total | Discipline | Discipline |
| No. | Pos. | Nat. | Name | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | | |
| 1 | GK | NIR | Lee Camp | 36 | 0 | 4 | 0 | 0 | 0 | 40 | 0 | 0 | 0 |
| 2 | DF | ENG | Wes Harding | 7 (8) | 0 | 2 (1) | 0 | 1 | 0 | 10 (9) | 0 | 5 | 0 |
| 3 | DF | DEN | Kristian Pedersen | 44 | 4 | 4 | 0 | 0 | 0 | 48 | 4 | 3 | 0 |
| 4 | DF | ENG | Marc Roberts | 33 (1) | 0 | 1 | 0 | 0 | 0 | 34 (1) | 0 | 6 | 0 |
| 5 | DF | FRA | Maxime Colin | 44 | 1 | 3 | 0 | 0 | 0 | 47 | 1 | 4 | 0 |
| 6 | MF | NED | Maikel Kieftenbeld | 2 (6) | 0 | 1 | 0 | 0 | 0 | 3 (6) | 0 | 0 | 0 |
| 7 | MF | IRL | Dan Crowley | 29 (9) | 1 | 1 (1) | 1 | 1 | 0 | 31 (10) | 2 | 4 | 0 |
| 8 | MF | ENG | Craig Gardner | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 10 | FW | ENG | Lukas Jutkiewicz | 42 (4) | 15 | 2 (1) | 0 | 0 | 0 | 44 (5) | 15 | 7 | 0 |
| 11 | FW | ENG | Isaac Vassell † | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 11 | FW | FRA | Jérémie Bela | 22 (8) | 2 | 0 (3) | 2 | 0 | 0 | 22 (11) | 4 | 0 | 0 |
| 12 | DF | ENG | Harlee Dean | 34 (5) | 1 | 4 | 1 | 0 | 0 | 38 (5) | 2 | 4 | 2 |
| 13 | GK | ENG | David Stockdale | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 14 | DF | ENG | Jake Clarke-Salter * | 19 | 1 | 3 | 0 | 1 | 0 | 23 | 1 | 7 | 0 |
| 15 | DF | ECU | Jefferson Montero * | 2 (12) | 0 | 3 (1) | 0 | 0 | 0 | 5 (13) | 0 | 1 | 0 |
| 16 | MF | ENG | Josh McEachran | 5 (3) | 0 | 2 | 0 | 0 | 0 | 7 (3) | 0 | 2 | 0 |
| 17 | MF | ESP | Fran Villalba | 15 (2) | 1 | 0 | 0 | 0 | 0 | 15 (2) | 1 | 0 | 0 |
| 18 | MF | SWE | Kerim Mrabti | 12 (3) | 2 | 2 | 0 | 0 | 0 | 15 (3) | 2 | 3 | 0 |
| 19 | MF | COD | Jacques Maghoma | 7 (11) | 1 | 2 (1) | 0 | 0 | 0 | 9 (12) | 1 | 1 | 0 |
| 20 | MF | ENG | Gary Gardner | 27 (8) | 4 | 1 (3) | 0 | 0 | 0 | 28 (11) | 4 | 14 | 0 |
| 21 | MF | ESP | Agus Medina | 0 (1) | 0 | 0 | 0 | 1 | 0 | 1 (1) | 0 | 1 | 0 |
| 22 | MF | ENG | Jude Bellingham | 32 (9) | 4 | 2 | 0 | 1 | 0 | 35 (9) | 4 | 8 | 0 |
| 23 | GK | ESP | Moha Ramos * | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 24 | FW | ESP | Álvaro Giménez | 12 (12) | 3 | 1 | 0 | 0 | 0 | 13 (12) | 3 | 5 | 0 |
| 25 | DF | ENG | Josh Dacres-Cogley | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 26 | MF | ENG | David Davis | 13 (2) | 0 | 1 | 0 | 0 | 0 | 14 (2) | 0 | 5 | 0 |
| 27 | GK | ENG | Connal Trueman | 10 | 0 | 0 | 0 | 0 | 0 | 10 | 0 | 0 | 0 |
| 28 | FW | ESP | Miguel Fernández | 0 (1) | 0 | 0 | 0 | 0 | 0 | 0 (1) | 0 | 0 | 0 |
| 30 | DF | IRL | Corey O'Keeffe | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 31 | MF | ENG | Charlie Lakin | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 33 | DF | MLI | Cheick Keita | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 34 | MF | CRO | Ivan Šunjić | 37 (3) | 3 | 3 (1) | 0 | 0 | 0 | 40 (4) | 3 | 9 | 1 |
| 37 | MF | ENG | Odin Bailey | 0 (6) | 1 | 0 | 0 | 0 (1) | 0 | 0 (7) | 1 | 1 | 0 |
| 40 | FW | IRL | Scott Hogan * | 16 (1) | 7 | 1 | 0 | 0 | 0 | 17 (1) | 7 | 0 | 0 |
| 42 | DF | ENG | Steve Seddon | 3 (1) | 0 | 0 | 0 | 1 | 0 | 4 (1) | 0 | 1 | 0 |
| 43 | DF | ALB | Geraldo Bajrami | 2 | 0 | 0 | 0 | 1 | 0 | 3 | 0 | 1 | 0 |
| 44 | MF | NIR | Caolan Boyd-Munce | 0 (6) | 0 | 0 (1) | 0 | 0 (1) | 0 | 0 (8) | 0 | 0 | 0 |
| 45 | DF | IRL | Ryan Burke | 0 (1) | 0 | 0 | 0 | 0 | 0 | 0 (1) | 0 | 1 | 0 |
| 46 | DF | IRL | Joe Redmond | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 47 | MF | WAL | Ryan Stirk | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 48 | MF | ENG | Jack Concannon | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 49 | FW | ENG | Jayden Reid | 0 (3) | 0 | 0 | 0 | 0 | 0 | 0 (3) | 0 | 0 | 0 |
| 50 | DF | ENG | Nico Gordon | 1 (1) | 0 | 0 | 0 | 0 | 0 | 1 (1) | 0 | 1 | 0 |
* 1 2 Soccerbase mistakenly attributes Harding's yellow card against Barnsley in August to Giménez.
Players not included in matchday squads :
| No. | Pos. | Nat. | Name |
| 29 | DF | ENG | Jonathan Grounds |
| 51 | MF | ENG | Kyle Hurst |