# 2020–21 Birmingham City F.C. season

The 2020–21 season is Birmingham City Football Club's 118th season in the English football league system and 10th consecutive season in the second-tier Championship. As with all English Football League clubs, the first team competed in the EFL Cup, in which they lost to Cambridge United in the first round, and in the FA Cup, in which they lost to Manchester City in the third round. Because of the COVID-19 pandemic, all of Birmingham's home matches were played behind closed doors.
Aitor Karanka was appointed head coach on 31 July 2020, and was replaced by Lee Bowyer on 16 March 2021, with the team 21st in the table with ten matches left. With five wins and two draws from the next eight, Birmingham avoided relegation with two matches to spare, and eventually finished 18th.
The season covers the period from July 2020 to 30 June 2021.

## Background and pre-season

With nine matches of the 2019–20 season still to play and Birmingham lying 16th in the table, football was interrupted for three months because of the COVID-19 pandemic. On 8 June – 12 days before the Championship resumed behind closed doors – the club confirmed that head coach Pep Clotet would leave at the end of the season to "explore other coaching opportunities"; after a series of poor results, he left by mutual consent on 8 July. Steve Spooner and Craig Gardner acted as caretakers for the last four matches. Birmingham accrued just three points after the resumption, extending a winless run to 14 league matches, and finished 20th, avoiding relegation on the final day thanks to favourable results elsewhere and a 12-point deduction because of Wigan Athletic's entering administration. On 31 July, former Middlesbrough and Nottingham Forest manager Aitor Karanka was appointed as head coach on a three-year contract.
Of the senior players, goalkeeper David Stockdale, defenders Jonathan Grounds and Cheick Keita, and wingers Jacques Maghoma and Kerim Mrabti were released at the end of their contracts; Lee Camp extended his contract to cover the last nine games of the season, and then left; and midfielder Craig Gardner retired to concentrate on coaching. Forward Álvaro Giménez' loan at Cádiz was converted to a permanent move after that club were promoted. Jude Bellingham, who became Birmingham's youngest first-team debutant at the age of 16 years 38 days and youngest goalscorer 25 days later, set more records, for transfer fee received by the club and as the world's most expensive 17-year-old, when he joined Borussia Dortmund for a fee reported as an initial £25 million.
Karanka's first signing was defender George Friend, who rejected a contract extension at Middlesbrough in favour of rejoining his former manager. He was followed by midfielder Jon Toral, who was Birmingham's Player of the Season when on loan from Arsenal in 2015–16, wingers Iván Sánchez, fresh from helping Elche gain promotion to the Spanish top flight, and West Bromwich Albion's Jonathan Leko, the first signing for whom a fee – reported as £1 million – was paid, goalkeepers Andrés Prieto and Neil Etheridge, and another former Middlesbrough player, midfielder Adam Clayton. After a loan spell in 2019–20 during which he scored seven goals in eight league games before lockdown but none after, Scott Hogan arrived from Aston Villa on a four-year deal for an undisclosed fee, and Mikel San José, a Spanish international midfielder or defender released after eleven years with Athletic Bilbao, signed for two years.
In June 2020, the club announced a four-year partnership with Nike as supplier of kits, which carry the logo of the club's principal sponsor, Irish bookmaker BoyleSports. The home kit consists of a blue shirt with white collar, sleeves and trim, white shorts and blue socks.
Birmingham played four pre-season friendlies: at home to Charlton Athletic, Leicester City and Walsall, and away to Tottenham Hotspur.
Pre-season friendly match details :
| Date | Opponents | Venue | Result | Score F–A | Scorers |
| 22 August 2020 | Charlton Athletic | H | D | 1–1 | Boyd-Munce 45' |
| 26 August 2020 | Leicester City | H | L | 0–2 | |
| 29 August 2020 | Tottenham Hotspur | A | L | 0–1 | |
| 1 September 2020 | Walsall | H | W | 3–0 | Medina 44', Miller 56', Bailey 87' |

## EFL Championship
### September–October

After 16 winless matches in all competitions, Birmingham City's Championship campaign began at home to Brentford on 12 September. Because of the COVID-19 pandemic, no fans were present. The team lined up in new head coach Aitor Karanka's preferred 4–2–3–1 formation. In goal, making his Football League debut, was the 19-year-old Zach Jeacock, selected in place of the injured Andrés Prieto and ahead of the newly arrived Neil Etheridge. Captain Harlee Dean partnered George Friend in central defence, with Maxime Colin and Kristian Pedersen at full back. Ivan Šunjić and newcomer Adam Clayton occupied central midfield, with Jérémie Bela wide left and Iván Sánchez, making his first appearance in English football, wide right. Jon Toral played behind last season's Player of the Season and top scorer Lukas Jutkiewicz, who had been injured throughout pre-season. Although the visitors hit the woodwork twice and might well have been awarded a penalty when Pedersen appeared to pull down Pontus Jansson, Birmingham's organisation and apparent team spirit were much improved from the 2019–20 version, and the only goal came after 37 minutes when Sánchez whipped in a corner and Bela, unmarked in the six-yard box, glanced a header past the goalkeeper at his near post. Etheridge made his debut in a solid defensive performance in a goalless draw at Swansea City, marred by Swansea coach Alan Tate "raising his arm to the neck area of Toral before shoving him to the ground" at half-time, for which the Football Association gave him a four-match touchline ban and a fine. At home to Rotherham United, Birmingham switched to a 4–4–2 formation to accommodate the debut of Scott Hogan. Neither side were effective in attack, and after 87 minutes, Bela's clumsy tackle gave away a penalty from which the visitors scored. Minutes later, Toral won a penalty, and Bela showed what Karanka called "personality" to fulfil his role as designated taker and secure the draw.
Without Jutkiewicz, who had tested positive for coronavirus, Birmingham failed to score in the three matches after the international break. Their first league defeat of the season came against Sheffield Wednesday via a penalty awarded for what the victim, Callum Paterson, described as "a bit of a nudge in the back" by Clayton. Their second came three days later away to promotion favourites Norwich City: their well-organised defensive shape held out until the last five minutes when Clayton was sent off and Norwich took advantage. A more attacking formation, with Jonathan Leko partnering Hogan up front, achieved a goalless draw at Queens Park Rangers. Gary Gardner's header from Bela's free kick opened the scoring at home to Huddersfield Town, who equalised late on; even later, Leko's shot hit the bar and Jutkiewicz, who had come on after an hour, tapped in the rebound to secure Birmingham's second win of the season via their first goal from open play. They won again at Preston North End, via Riley McGree's first goal for Birmingham, two minutes into his first start, and another Gardner header, to end October in mid-table.

### November–December

Birmingham went winless through November. At home to Wycombe Wanderers, who had gained their first ever point at Championship level the previous week, Marc Roberts scored his first goal for 2+1⁄2 years while several team-mates failed to take their chances. Wycombe took advantage of their hosts' ineffective second-half performance, first to equalise and then to force a winner via Pedersen's own goal. Karanka said afterwards that Wycombe "showed more determination than us to win the game. But they controlled the second half – we couldn't keep the ball or pass the ball and we didn't create anything." The 3–1 loss to a superior AFC Bournemouth team brought an improvement in attitude and a first goal of the season for Hogan, who said he was feeling fitter and sharper, noting that he'd "always been able to [score] quite consistently in the past when [he'd] played regularly." Despite the new regulations that allowed five changes from a nine-man bench, Hogan was one of eight unused substitutes in the goalless draw with Coventry City, the first league meeting between the clubs since Coventry began their groundshare at St Andrew's. Etheridge's goalkeeping earned Birmingham a draw away to Luton Town, although Šunjić's stoppage-time shot would have secured all three points but for a fine save from his compatriot Simon Sluga, and the month ended with a dull goalless draw with Millwall that left Birmingham 17th in the table.
December opened with a well-worked goal from Hogan at home to Barnsley, but what BBC Sport dubbed a "contentious penalty", when Pedersen was judged to have tripped Callum Brittain, and a late deflected shot extended Birmingham's winless run to six games. The defensive nature of the visit to Bristol City was enlivened by the arrival of Alen Halilović for a 20-minute debut, and Dean's header from a corner gave Birmingham all three points. Uncharacteristically, Karanka made only one (enforced) team change for the next match. In front of 2,000 socially distanced fans at the Madejski Stadium, Jon Toral demonstrated what the Birmingham Mail called "an inexplicable difference to the form he had showed so far this season" to score twice in the first half. After Reading made the score 1–2, Dean received a second yellow card for a foul in the penalty area and was sent off. Etheridge saved the kick, and Birmingham held on for a second consecutive win. Toral remained unused in a defensive setup at home to Watford, it was Pedersen's turn to be sent off for conceding a penalty, and Troy Deeney converted for his fifth goal against Birmingham.
Jake Clarke-Salter's error led to Cardiff City's opening goal, Roberts equalised, and Sánchez "slalomed through three defenders and picked out the far corner with an absolute piledriver" to give Birmingham the lead and join the now seven-way tie for top scorer with two goals. The goal was voted Birmingham's Goal of the Season. Etheridge saved a penalty, awarded for Clarke-Salter's hand-ball, but Cardiff scored twice late on. Colin gave Birmingham an early lead at home to Middlesbrough before the mistakes set in: two half-time substitutions and three more after an hour made little impact and the match ended as a 4–1 loss. A goalless draw at Nottingham Forest was followed by a 4–0 loss at home to Derby County summed up by Karanka as "like going to the cinema and watching the same film. One mistake, one goal. Two mistakes, two goals. Three mistakes, three goals. ... I expected ups and downs this season, but not these same individual mistakes every single game."

### January–March

Birmingham went into 2021 18th in the table, seven points above the relegation places. A 2–0 loss to Blackburn Rovers – their eighth home defeat of the season, the most in the top four divisions – was followed by George Friend's man-of-the-match performance on his return to Middlesbrough, where a well-worked goal by Hogan gave Birmingham their first win in seven. Two more winless home games, a loss to Preston North End and a draw with Coventry City, left Birmingham 20th in the table, four points above Rotherham United who had two games in hand, and Karanka still talking about mistakes, goals and Groundhog Day.
Goalless at rock-bottom Wycombe Wanderers, with Hogan, new signing Sam Cosgrove, and three other attacking players on the bench, Karanka made no changes until Roberts was sent off in the 88th minute. He claimed that "even one second lack of concentration can be dangerous. We were going to be fighting to the last second and one mistake of concentration could have been difficult for us." Birmingham had the better of the first half away to AFC Bournemouth: Hogan opened the scoring with the aid of a goalkeeping error, and after Sánchez had a shot cleared off the line, Pedersen's angled volley was disallowed for offside. In a game of two poor defences, the hosts regained the lead, Hogan equalised, but his side could not hold on. The defeat placed them in the relegation zone, and earned the head coach the 100% confidence of his superiors. After his team lost 1–0 at home to Luton Town and dropped to 23rd, he said if they kept playing like that they would not stay up.
The positive intent shown by selecting two strikers at Millwall was blunted two minutes into the game when Mikel San José underhit a backpass and Jed Wallace beat Etheridge to the ball and scored; the match ended 2–0. Fellow relegation candidates Sheffield Wednesday had a man sent off just after half-time, and Hogan scored some 15 minutes later; it remained the only goal of the game thanks to Etheridge's "stunning" late save. Birmingham produced what Karanka claimed to be "the best 45 minutes we have played this season" to hold table-topping Norwich City to 1–1, thanks in part to Etheridge's penalty save, but luck went against them in the second half, when a deflection made it easy for Teemu Pukki to score his second, and they conceded again on the break deep into stoppage time. At Queens Park Rangers, Birmingham missed several chances and conceded against the run of play. After an hour, Karanka made a triple change: in the last ten minutes, Pedersen headed an equaliser from substitute Roberts' long throw, and it was another substitute, Alen Halilović, whose curling 20 yd (18 m) shot secured Birmingham's first home win since October.
The next three games brought one point, via Marc Roberts' equaliser away to Huddersfield Town, but no change to the negativity surrounding the club. A change of formation, introducing Jutkiewicz, a striker whose game relied on crosses into the box, while omitting the wingers who might supply them, failed to produce a shot on target against Barnsley, preceded a capitulation to Bristol City. Karanka was asked if he would resign; he replied "No chance".
The Daily Mirror's Neil Moxley reported that, when captain Harlee Dean was asked whether the manager still had the backing of the players, the silence had become awkward. The following day, 14 March, rumours began to emerge that Karanka had been sacked, not by the unpopular chief executive but by a senior director. On the 15th, Lee Bowyer, who had been a member of Birmingham's 2011 League Cup-winning side, resigned his post as manager of Charlton Athletic. The next day, 16 March, a brief statement on the club website confirmed that Karanka had "stepped down as head coach." Shortly afterwards, Bowyer was announced as his replacement. The board "highlight[ed] his man-management skills and motivational qualities", while Bowyer said he was "absolutely delighted and it's great to be back", and stressed his priority was to lift the whole club.

### The last ten matches

Both Bowyer and Dean stressed the value of clear, simple instructions and of encouragement. In the first match, at home to Reading, Bowyer recalled Jutkiewicz, played him alongside Hogan and with wingers to supply the crosses – a system preferred by both forwards – and four minutes into the match, he headed home from Bela's cross to score his 50th goal for Birmingham and first in 24 games. Reading equalised before Dean's header from a corner won the match; his goal celebration, a shrug of the shoulders, seemed to mock Karanka's mannerism. Although Birmingham lost 3–0 away to second-placed Watford, the manager's appreciation of the need for formation changes and the team's ability to implement them illustrated the increased focus on shape work under Bowyer. The same applied to the next match, at home to Swansea City, in which the half-time replacement of the enthusiastic but yellow-carded Steve Seddon by Friend strengthened the defence and Hogan's last-minute penalty, after Jutkiewicz had missed an earlier one, won the game. They followed up with a goalless draw away to Brentford, in which the highlights were Etheridge's goalkeeping and the performance of McGree out of position at wing-back.
With Stoke City's defence expecting yet another long throw, Roberts threw short, Colin passed it back to him, and his "first-time curling cross was headed home powerfully by Jutkiewicz" for his 50th league goal for Birmingham. His 51st completed a 2–0 win. Six points behind Birmingham but still with two games in hand, Rotherham United held out until Dean's 88th-minute header went in off a defender. Away to another relegation candidate, Nottingham Forest, Birmingham led through Roberts' fourth goal of the season until six minutes into stoppage time, when the referee awarded a penalty for what he saw as a foul by Jutkiewicz. After the match, Bowyer was critical of the quality of officiating at Championship level, and correctly predicted he would receive an apology for the mistake from the head of refereeing. Another two Jutkiewicz goals helped Birmingham come from behind to beat Derby County 2–1 and secure their Championship status with two matches of the season remaining.
Bowyer used the last two fixtures to look at fringe players, in appreciation of their contribution as part of the squad and to see how the younger players coped with starting a competitive fixture. Both were heavy defeats. The matches saw first-team debuts for Ryan Stirk and Keke Simmonds, first starts for Sam Cosgrove and Amari Miller, first appearances of the season for Nico Gordon and Connal Trueman, a chance to bid farewell to the long-serving Josh Dacres-Cogley, and Jutkiewicz's eighth goal of the season, which was enough to make him the team's top scorer.

### League table (part)

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts |
| 16 | Coventry City | 46 | 14 | 13 | 19 | 49 | 61 | −12 | 55 |
| 17 | Nottingham Forest | 46 | 12 | 16 | 18 | 37 | 45 | −8 | 52 |
| 18 | Birmingham City | 46 | 13 | 13 | 20 | 37 | 61 | −24 | 52 |
| 19 | Bristol City | 46 | 15 | 6 | 25 | 46 | 68 | −22 | 51 |
| 20 | Huddersfield Town | 46 | 12 | 13 | 21 | 50 | 71 | −21 | 49 |

### Results summary

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

### Match results

EFL Championship match details :
| Date | League position | Opponents | Venue | Result | Score F–A | Scorers | Attendance | Refs |
| 12 September 2020 | 5th | Brentford | H | W | 1–0 | Bela 37' | 0 | |
| 19 September 2020 | 5th | Swansea City | A | D | 0–0 | | 0 | |
| 26 September 2020 | 7th | Rotherham United | H | D | 1–1 | Bela 90' pen. | 0 | |
| 4 October 2020 | 8th | Stoke City | A | D | 1–1 | Dean 65' | 0 | |
| 17 October 2020 | 15th | Sheffield Wednesday | H | L | 0–1 | | 0 | |
| 20 October 2020 | 15th | Norwich City | A | L | 0–1 | | 0 | |
| 24 October 2020 | 17th | Queens Park Rangers | A | D | 0–0 | | 0 | |
| 28 October 2020 | 15th | Huddersfield Town | H | W | 2–1 | Gardner 27', Jutkiewicz 90' | 0 | |
| 31 October 2020 | 11th | Preston North End | A | W | 2–1 | McGree 2', Gardner 85' | 0 | |
| 4 November 2020 | 14th | Wycombe Wanderers | H | L | 1–2 | Roberts 40' | 0 | |
| 7 November 2020 | 17th | AFC Bournemouth | H | L | 1–3 | Hogan 55' | 0 | |
| 20 November 2020 | 14th | Coventry City | A | D | 0–0 | | 0 | |
| 24 November 2020 | 17th | Luton Town | A | D | 1–1 | Jutkiewicz 23' pen. | 0 | |
| 28 November 2020 | 17th | Millwall | H | D | 0–0 | | 0 | |
| 1 December 2020 | 16th | Barnsley | H | L | 1–2 | Hogan 56' | 0 | |
| 5 December 2020 | 16th | Bristol City | A | W | 1–0 | Dean 80' | 0 | |
| 9 December 2020 | 15th | Reading | A | W | 2–1 | Toral (2) 29', 37' | 2,000 | |
| 12 December 2020 | 16th | Watford | H | L | 0–1 | | 0 | |
| 16 December 2020 | 17th | Cardiff City | A | L | 2–3 | Roberts 31', Sánchez 57' | 0 | |
| 19 December 2020 | 17th | Middlesbrough | H | L | 1–4 | Colin 15' | 0 | |
| 26 December 2020 | 17th | Nottingham Forest | A | D | 0–0 | | 0 | |
| 29 December 2020 | 18th | Derby County | H | L | 0–4 | | 0 | |
| 2 January 2021 | 18th | Blackburn Rovers | H | L | 0–2 | | 0 | |
| 16 January 2021 | 18th | Middlesbrough | A | W | 1–0 | Hogan 26' | 0 | |
| 20 January 2021 | 19th | Preston North End | H | L | 0–1 | | 0 | |
| 30 January 2021 | 20th | Coventry City | H | D | 1–1 | Bela 18' pen | 0 | |
| 2 February 2021 | 21st | Wycombe Wanderers | A | D | 0–0 | | 0 | |
| 6 February 2021 | 22nd | AFC Bournemouth | A | L | 2–3 | Hogan (2) 27', 68' | 0 | |
| 13 February 2021 | 23rd | Luton Town | H | L | 0–1 | | 0 | |
| 17 February 2021 | 23rd | Millwall | A | L | 0–2 | | 0 | |
| 20 February 2021 | 21st | Sheffield Wednesday | A | W | 1–0 | Hogan 63' | 0 | |
| 23 February 2021 | 21st | Norwich City | H | L | 1–3 | Sánchez 38' | 0 | |
| 27 February 2021 | 21st | Queens Park Rangers | H | W | 2–1 | Pedersen 82', Halilović 85' | 0 | |
| 2 March 2021 | 21st | Huddersfield Town | A | D | 1–1 | Roberts 67' | 0 | |
| 6 March 2021 | 21st | Barnsley | A | L | 0–1 | | 0 | |
| 13 March 2021 | 21st | Bristol City | H | L | 0–3 | | 0 | |
| 17 March 2021 | 21st | Reading | H | W | 2–1 | Jutkiewicz 4', Dean 71' | 0 | > |
| 20 March 2021 | 21st | Watford | A | L | 0–3 | | 0 | |
| 2 April 2021 | 20th | Swansea City | H | W | 1–0 | Hogan 90+1' pen. | 0 | |
| 6 April 2021 | 21st | Brentford | A | D | 0–0 | | 0 | |
| 10 April 2021 | 18th | Stoke City | H | W | 2–0 | Jutkiewicz 42', 53' | 0 | |
| 18 April 2021 | 18th | Rotherham United | A | W | 1–0 | Dean 88' | 0 | |
| 21 April 2021 | 19th | Nottingham Forest | H | D | 1–1 | Roberts 49' | 0 | |
| 24 April 2021 | 16th | Derby County | A | W | 2–1 | Jutkiewicz 62', 84' | 0 | |
| 1 May 2021 | 18th | Cardiff City | H | L | 0–4 | | 0 | |
| 8 May 2021 | 18th | Blackburn Rovers | A | L | 2–5 | Pedersen 22', Jutkiewicz 50' | 0 | |

## FA Cup

As with all teams in the top two divisions, Birmingham entered the competition in the third round, in which they were drawn to play away to Premier League club Manchester City.
FA Cup match details :
| Round | Date | Opponents | Venue | Result | Score F–A | Scorers | Attendance | Refs |
| Third round | 10 January 2021 | Manchester City | A | L | 0–3 | | 0 | |

## EFL Cup

Birmingham were drawn to play at home to League Two club Cambridge United in the first round. They went into the match with an 18-year-old debutant, Adan George, as lone striker in the absence of the injured Lukas Jutkiewicz. They conceded after 18 minutes when debutant goalkeeper Andrés Prieto misjudged a set-piece, and came closest to an equaliser shortly afterwards when Jérémie Bela hit the crossbar with a shot from distance. The team remained winless since February, and Karanka said that he and his staff needed to change what he perceived as a "losing mentality" after the previous season had ended with such a poor run of results.
EFL Cup match details :
| Round | Date | Opponents | Venue | Result | Score F–A | Scorers | Attendance | Refs |
| First round | 5 September 2020 | Cambridge United | H | L | 0–1 | | 0 | |

## Transfers

    For those players released or contract ended before the start of this season please see 2019–20 Birmingham City F.C. season.

### In

| Date | Player | Club † | Fee |
| 15 August 2020 | George Friend | (Middlesbrough) | Contract expired |
| 25 August 2020 | Jon Toral | (Hull City) | Contract expired |
| 27 August 2020 | Iván Sánchez | (Elche) | Contract expired |
| 28 August 2020 | Jonathan Leko | West Bromwich Albion | Undisclosed |
| 28 August 2020 | Andrés Prieto | (RCD Espanyol) | Contract expired |
| 1 September 2020 | Adam Clayton | (Middlesbrough) | Contract expired |
| 11 September 2020 | Neil Etheridge | Cardiff City | Undisclosed |
| 16 September 2020 | Scott Hogan | Aston Villa | Undisclosed |
| 17 September 2020 | Oriol Soldevila * | (Barcelona) | Contract expired |
| 21 September 2020 | Mikel San José | (Athletic Bilbao) | Contract expired |
| 23 November 2020 | Alen Halilović | (AC Milan) | Contract expired |
| 26 January 2021 | Leonardo Dos Reis * | (Barcelona) | Contract expired |
| 31 January 2021 | Sam Cosgrove | Aberdeen | Undisclosed |
| 1 February 2021 | Keke Simmonds | Manchester City | Undisclosed |
    † Brackets round a club's name indicate the player's contract with that club had expired before he joined Birmingham.
    * Signed primarily for the development squad

#### Loaned in

| Date | Player | Club | Return |
| 5 October 2020 | Riley McGree | Charlotte FC | 1 January 2022 |
| 16 October 2020 | Jake Clarke-Salter | Chelsea | End of season |
| 21 January 2021 | Rekeem Harper | West Bromwich Albion | End of season |
| 1 February 2021 | Yan Valery | Southampton | End of season |

### Out

| Date | Player | Club † | Fee |
| 22 July 2020 | Álvaro Giménez | Cádiz | Undisclosed |
| 23 July 2020 | Jude Bellingham | Borussia Dortmund | Undisclosed |
| 3 August 2020 | Lee Camp | (Coventry City) | Contract expired |
| 20 August 2020 | Wes Harding | Rotherham United | Undisclosed |
| 14 January 2021 | David Davis | (Shrewsbury Town) | Mutual consent |
| 25 January 2021 | Maikel Kieftenbeld | Millwall | Undisclosed |
| 31 January 2021 | Josh McEachran | (Milton Keynes Dons) | Mutual consent |
| 28 May 2021 | Mikel San José | (Amorebieta) | Mutual consent |
| 28 June 2021 | Amari Miller | Leeds United | Undisclosed |
| 30 June 2021 | Geraldo Bajrami | (Kidderminster Harriers) | Released |
| 30 June 2021 | Ryan Burke | (Mansfield Town) | Released |
| 30 June 2021 | Jack Concannon | (Tamworth) | Released |
| 30 June 2021 | Dan Crowley | (Cheltenham Town) | Released |
| 30 June 2021 | Josh Dacres-Cogley | (Tranmere Rovers) | Released |
| 30 June 2021 | Miguel Fernández | (Huesca B) | Released |
| 30 June 2021 | Iván Guzmán | (AD Ceuta FC) | Released |
| 30 June 2021 | Alen Halilović | (Reading) | Contract expired |
| 30 June 2021 | Remeao Hutton | (Barrow) | Released |
| 30 June 2021 | Agus Medina | (Ponferradina) | Released |
| 30 June 2021 | Joe Redmond | (Drogheda United) | Released |
| 30 June 2021 | Jayden Reid | (Portsmouth) | Released |
| 30 June 2021 | Bernard Sun | (Türk Gücü Friedberg) | Released |
| 30 June 2021 | Jon Toral | (OFI) | Released |
    † Brackets round a club's name denote the player joined that club after his Birmingham City contract expired.
* ↑ The fee was officially undisclosed, but was understood by Sky Sports to be "a guaranteed £25m up front, with fees worth 'several millions more' potentially added on depending on appearances, achievements and milestones."

#### Loaned out

| Date | Player | Club | Return |
| 4 August 2020 | Connal Trueman | AFC Wimbledon | Recalled 8 January 2021 |
| 26 August 2020 | Remeao Hutton | Stevenage | End of season |
| 27 August 2020 | Fran Villalba | Almería | End of season |
| 1 September 2020 | Iván Guzmán | UE Cornellà | 30 June 2021 |
| 22 September 2020 | Ryan Burke | Yeovil Town | 17 January 2021 |
| 25 September 2020 | Steve Seddon | AFC Wimbledon | Recalled 31 December 2020 |
| 2 October 2020 | Agus Medina | UE Cornellà | 30 June 2021 |
| 5 October 2020 | Charlie Lakin | Ross County | 30 June 2021 |
| 16 October 2020 | Jayden Reid | Barrow | 3 January 2021 |
| 16 October 2020 | Odin Bailey | Forest Green Rovers | 31 May 2021 |
| 16 October 2020 | Adan George | Walsall | 3 January 2021 |
| 8 January 2021 | Mitchell Roberts | Harrogate Town | End of season |
| 18 January 2021 | Dan Crowley | Hull City | End of season |
| 19 January 2021 | Jayden Reid | Walsall | Recalled 27 March 2021 |
| 1 February 2021 | Josh Andrews | Harrogate Town | End of season |
| 1 February 2021 | Miguel Fernández | CD Guijuelo | End of season |
| 1 March 2021 | Connal Trueman | Swindon Town | 7 March 2021 |
| 16 April 2021 | Tate Campbell | Bromley | End of season |

## 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 | ESP | Andrés Prieto | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 0 | 0 |
| 2 | DF | FRA | Maxime Colin | 39 (3) | 1 | 1 | 0 | 1 | 0 | 41 (3) | 1 | 5 | 0 |
| 3 | DF | DEN | Kristian Pedersen | 35 | 2 | 0 | 0 | 1 | 0 | 36 | 2 | 6 | 1 |
| 4 | DF | ENG | Marc Roberts | 29 (7) | 4 | 0 (1) | 0 | 0 | 0 | 29 (8) | 4 | 2 | 1 |
| 5 | DF | ENG | George Friend | 21 (5) | 0 | 1 | 0 | 1 | 0 | 23 (5) | 0 | 4 | 0 |
| 6 | MF | NED | Maikel Kieftenbeld † | 8 (2) | 0 | 1 | 0 | 1 | 0 | 10 (2) | 0 | 1 | 0 |
| 6 | DF | FRA | Yan Valery * | 2 (5) | 0 | 0 | 0 | 0 | 0 | 2 (5) | 0 | 0 | 0 |
| 7 | MF | IRL | Dan Crowley | 1 (2) | 0 | 0 | 0 | 1 | 0 | 2 (2) | 0 | 0 | 0 |
| 8 | MF | ENG | Adam Clayton | 10 (4) | 0 | 0 (1) | 0 | 0 (1) | 0 | 10 (6) | 0 | 4 | 1 |
| 9 | FW | IRL | Scott Hogan | 28 (6) | 7 | 1 | 0 | 0 | 0 | 29 (6) | 7 | 2 | 0 |
| 10 | FW | ENG | Lukas Jutkiewicz | 25 (17) | 8 | 0 (1) | 0 | 0 | 0 | 25 (18) | 8 | 2 | 0 |
| 11 | FW | FRA | Jérémie Bela | 26 (9) | 3 | 0 (1) | 0 | 1 | 0 | 27 (10) | 3 | 2 | 0 |
| 12 | DF | ENG | Harlee Dean | 42 (1) | 4 | 0 | 0 | 1 | 0 | 43 (1) | 4 | 7 | 1 |
| 14 | MF | ENG | Jonathan Leko | 15 (19) | 0 | 1 | 0 | 0 | 0 | 16 (19) | 0 | 5 | 0 |
| 15 | DF | ENG | Jake Clarke-Salter * | 9 (1) | 0 | 1 | 0 | 0 | 0 | 10 (1) | 0 | 3 | 0 |
| 16 | FW | ENG | Sam Cosgrove | 2 (10) | 0 | 0 | 0 | 0 | 0 | 2 (10) | 0 | 0 | 0 |
| 17 | MF | ESP | Iván Sánchez | 31 (9) | 2 | 1 | 0 | 0 | 0 | 32 (9) | 2 | 2 | 0 |
| 18 | MF | AUS | Riley McGree * | 8 (7) | 2 | 0 | 0 | 0 | 0 | 8 (7) | 2 | 0 | 0 |
| 19 | MF | ESP | Mikel San José | 19 (8) | 0 | 1 | 0 | 0 | 0 | 20 (8) | 0 | 4 | 0 |
| 20 | MF | ENG | Gary Gardner | 25 (12) | 2 | 0 | 0 | 0 | 0 | 25 (12) | 2 | 4 | 0 |
| 21 | MF | ESP | Agus Medina | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 23 | MF | ESP | Jon Toral | 10 (6) | 2 | 1 | 0 | 0 (1) | 0 | 11 (7) | 2 | 3 | 0 |
| 24 | MF | ENG | Rekeem Harper * | 11 (7) | 0 | 0 | 0 | 0 | 0 | 11 (7) | 0 | 2 | 0 |
| 25 | DF | ENG | Josh Dacres-Cogley | 5 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 |
| 26 | MF | ENG | David Davis † | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 27 | GK | ENG | Connal Trueman | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 30 | GK | PHI | Neil Etheridge | 43 | 0 | 0 | 0 | 0 | 0 | 43 | 0 | 2 | 0 |
| 31 | MF | ENG | Charlie Lakin | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 34 | MF | CRO | Ivan Šunjić | 38 (5) | 0 | 1 | 0 | 1 | 0 | 40 (5) | 0 | 10 | 0 |
| 35 | MF | CRO | Alen Halilović | 9 (8) | 1 | 0 | 0 | 0 | 0 | 9 (8) | 1 | 0 | 0 |
| 37 | MF | ENG | Odin Bailey | 0 | 0 | 0 | 0 | 0 (1) | 0 | 0 (1) | 0 | 0 | 0 |
| 38 | GK | ENG | Zach Jeacock | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 |
| 40 | FW | ENG | Adan George | 0 (1) | 0 | 0 | 0 | 1 | 0 | 1 (1) | 0 | 0 | 0 |
| 41 | MF | ENG | Amari Miller | 2 (3) | 0 | 0 | 0 | 0 | 0 | 2 (3) | 0 | 0 | 0 |
| 42 | DF | ENG | Steve Seddon | 6 (1) | 0 | 0 | 0 | 0 | 0 | 6 (1) | 0 | 1 | 0 |
| 44 | MF | NIR | Caolan Boyd-Munce | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 47 | MF | WAL | Ryan Stirk | 2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 0 |
| 50 | DF | ENG | Nico Gordon | 1 (1) | 0 | 0 | 0 | 0 | 0 | 1 (1) | 0 | 0 | 0 |
| 53 | MF | ENG | Tate Campbell | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 54 | FW | ENG | Keyendrah Simmonds | 0 (1) | 0 | 0 | 0 | 0 | 0 | 0 (1) | 0 | 0 | 0 |
Players not included in matchday squads :
| No. | Pos. | Nat. | Name |
| 16 | MF | ENG | Josh McEachran † |
| 28 | FW | ESP | Miguel Fernández |
| 39 | GK | ENG | Aaron Clayton |
| 43 | DF | ALB | Geraldo Bajrami |
| 45 | DF | IRL | Ryan Burke |
| 46 | DF | IRL | Joe Redmond |
| 48 | MF | ENG | Jack Concannon |
| 49 | FW | ENG | Jayden Reid |
| 51 | MF | ENG | Kyle Hurst |
| 52 | GK | ENG | Elias Rouse |