Every Birmingham City season on record, from 1881–82 to 2026–27 — league record, finishing position and leading scorer. Click a season for every match it contained.
| Season | Division | P | W | D | L | GF | GA | Pos | Leading scorer |
|---|---|---|---|---|---|---|---|---|---|
| 1881–82 | 2 | 1 | 0 | 1 | 4 | 7 | |||
| 1882–83 | 2 | 0 | 1 | 1 | 5 | 9 | |||
| 1883–84 | 2 | 0 | 1 | 1 | 3 | 4 | |||
| 1884–85 | 1 | 0 | 0 | 1 | 0 | 2 | |||
| 1885–86 | 6 | 5 | 0 | 1 | 20 | 10 | |||
| 1886–87 | 1 | 0 | 0 | 1 | 1 | 3 | |||
| 1887–88 | 2 | 1 | 0 | 1 | 6 | 5 | |||
| 1888–89 | 1 | 0 | 0 | 1 | 2 | 3 | 6 | Will Devey (5) | |
| 1889–90 | 2 | 1 | 0 | 1 | 4 | 3 | 10 | Will Devey (27) | |
| 1891–92 | 2 | 1 | 0 | 1 | 5 | 3 | 3 | Fred Wheldon (29) | |
| 1892–93 | Second Division | 25 | 17 | 3 | 5 | 93 | 43 | 1 | Fred Wheldon{{efn|The Rec.Sport.Soccer Statistics Foundation (RSSSF) lists Wheldon as having scored a divisional best 24 goals in Division Two, but Matthews (2010) assigns him 25. }} |
| 1893–94 | 30 | 22 | 0 | 8 | 109 | 49 | Frank Mobley | ||
| 1894–95 | First Division | 31 | 9 | 7 | 15 | 51 | 76 | 12 | Frank Mobley (13) |
| 1895–96 | First Division | 35 | 9 | 5 | 21 | 48 | 90 | 15 | Frank Mobley (11) |
| 1896–97 | Second Division | 31 | 16 | 5 | 10 | 70 | 49 | 4 | Jimmy Inglis (16) |
| 1897–98 | Second Division | 30 | 16 | 4 | 10 | 58 | 50 | 6 | Walter Abbott (19) |
| 1898–99 | Second Division | 37 | 18 | 8 | 11 | 91 | 56 | 8 | Walter Abbott{{efn|Abbott's 34 Second Division goals and 42 total goals in a season are club records. }} |
| 1899–00 | Second Division | 34 | 20 | 6 | 8 | 78 | 38 | 3 | Bob McRoberts (24) |
| 1900–01 | Second Division | 39 | 21 | 12 | 6 | 61 | 27 | 2 | Bob McRoberts (17) |
| 1901–02 | First Division | 34 | 11 | 8 | 15 | 47 | 45 | 17 | Bob McRoberts (11) |
| 1902–03 | Second Division | 35 | 24 | 3 | 8 | 75 | 38 | 2 | Arthur Leonard (16) |
| 1903–04 | First Division | 34 | 11 | 8 | 15 | 39 | 52 | 11 | |
| 1904–05 | First Division | 35 | 17 | 5 | 13 | 54 | 40 | 7 | Billy Jones (16) |
| 1905–06 | First Division | 44 | 20 | 9 | 15 | 72 | 65 | 7 | Billy Jones (24) |
| 1906–07 | First Division | 39 | 15 | 8 | 16 | 53 | 54 | 9 | Billy Jones (15) |
| 1907–08 | First Division | 40 | 9 | 13 | 18 | 42 | 63 | 20 | Edmund Eyre (9) |
| 1908–09 | Second Division | 39 | 14 | 9 | 16 | 60 | 66 | 11 | |
| 1909–10 | Second Division | 39 | 8 | 7 | 24 | 43 | 82 | 20 | Walter Freeman (10) |
| 1910–11 | Second Division | 40 | 12 | 9 | 19 | 43 | 67 | 16 | Jack Hall (14) |
| 1911–12 | Second Division | 40 | 14 | 7 | 19 | 55 | 62 | 12 | Jack Hall (21) |
| 1912–13 | Second Division | 39 | 18 | 10 | 11 | 59 | 48 | 3 | Billy Jones (16) |
| 1913–14 | Second Division | 41 | 14 | 10 | 17 | 52 | 63 | 14 | Andy Smith (10) |
| 1914–15 | Second Division | 43 | 19 | 11 | 13 | 72 | 44 | 6 | Andy Smith (24) |
| 1919–20 | Second Division | 45 | 26 | 8 | 11 | 91 | 36 | 3 | Bert Millard (15) |
| 1920–21 | Second Division | 43 | 24 | 10 | 9 | 80 | 40 | 1 | Harry Hampton (16) |
| 1921–22 | First Division | 42 | 15 | 7 | 20 | 48 | 60 | 18 | |
| 1922–23 | First Division | 43 | 13 | 11 | 19 | 42 | 59 | 17 | Joe Bradford (19) |
| 1923–24 | First Division | 43 | 13 | 13 | 17 | 41 | 50 | 14 | Joe Bradford (24) |
| 1924–25 | First Division | 45 | 19 | 12 | 14 | 53 | 55 | 8 | |
| 1925–26 | First Division | 44 | 17 | 8 | 19 | 69 | 83 | 14 | Joe Bradford (27) |
| 1926–27 | First Division | 44 | 18 | 4 | 22 | 69 | 78 | 17 | Joe Bradford (23) |
| 1927–28 | First Division | 45 | 15 | 15 | 15 | 77 | 80 | 11 | Joe Bradford (32) |
| 1928–29 | First Division | 44 | 16 | 10 | 18 | 71 | 79 | 15 | Joe Bradford (24) |
| 1929–30 | First Division | 45 | 17 | 10 | 18 | 70 | 65 | 11 | Joe Bradford (23) |
| 1930–31 | First Division | 49 | 18 | 11 | 20 | 70 | 74 | 19 | Joe Bradford (22) |
| 1931–32 | First Division | 44 | 19 | 8 | 17 | 80 | 69 | 9 | Joe Bradford (28) |
| 1932–33 | First Division | 47 | 17 | 12 | 18 | 65 | 62 | 13 | |
| 1933–34 | First Division | 45 | 14 | 12 | 19 | 58 | 59 | 20 | Fred Roberts (8) |
| 1934–35 | First Division | 46 | 16 | 10 | 20 | 75 | 86 | 19 | Wilson Jones (17) |
| 1935–36 | First Division | 44 | 15 | 12 | 17 | 64 | 68 | 12 | Wilson Jones (20) |
| 1936–37 | First Division | 43 | 13 | 15 | 15 | 65 | 64 | 11 | Seymour Morris (16) |
| 1937–38 | First Division | 43 | 10 | 18 | 15 | 58 | 63 | 18 | |
| 1938–39 | First Division | 46 | 14 | 9 | 23 | 73 | 88 | 21 | Fred Harris (17) |
| 1945–46 | 52 | 32 | 9 | 11 | 115 | 55 | |||
| 1946–47 | Second Division | 46 | 28 | 5 | 13 | 83 | 38 | 3 | Cyril Trigg (19) |
| 1947–48 | Second Division | 43 | 22 | 15 | 6 | 55 | 26 | 1 | Harold Bodle (14) |
| 1948–49 | First Division | 45 | 11 | 17 | 17 | 39 | 42 | 17 | Jackie Stewart (11) |
| 1949–50 | First Division | 43 | 7 | 14 | 22 | 31 | 70 | 22 | Jimmy Dailey (9) |
| 1950–51 | Second Division | 48 | 24 | 10 | 14 | 73 | 56 | 4 | Cyril Trigg (19) |
| 1951–52 | Second Division | 44 | 22 | 9 | 13 | 68 | 57 | 3 | Tommy Briggs (19) |
| 1952–53 | Second Division | 49 | 22 | 13 | 14 | 85 | 73 | 6 | Peter Murphy (26) |
| 1953–54 | Second Division | 44 | 19 | 11 | 14 | 80 | 60 | 7 | Ted Purdon (15) |
| 1954–55 | Second Division | 46 | 25 | 10 | 11 | 98 | 50 | 1 | Peter Murphy (20) |
| 1955–56 | First Division | 50 | 24 | 10 | 16 | 95 | 62 | 6 | Eddy Brown (29) |
| 1956–57 | First Division | 51 | 21 | 11 | 19 | 90 | 77 | 12 | Alex Govan (30) |
| 1957–58 | First Division | 46 | 15 | 11 | 20 | 81 | 98 | 13 | Peter Murphy (23) |
| 1958–59 | First Division | 52 | 24 | 11 | 17 | 99 | 83 | 9 | Bunny Larkin (23) |
| 1959–60 | First Division | 47 | 15 | 11 | 21 | 73 | 90 | 19 | Johnny Gordon (19) |
| 1960–61 | First Division | 55 | 22 | 9 | 24 | 90 | 99 | 19 | Jimmy Harris (17) |
| 1961–62 | First Division | 50 | 15 | 13 | 22 | 76 | 100 | 17 | |
| 1962–63 | First Division | 53 | 16 | 17 | 20 | 93 | 103 | 20 | Ken Leek (29) |
| 1963–64 | First Division | 45 | 11 | 7 | 27 | 56 | 98 | 20 | Bertie Auld (10) |
| 1964–65 | First Division | 44 | 8 | 11 | 25 | 66 | 103 | 22 | |
| 1965–66 | Second Division | 45 | 17 | 9 | 19 | 75 | 81 | 10 | Geoff Vowden (23) |
| 1966–67 | Second Division | 55 | 23 | 11 | 21 | 89 | 88 | 10 | Geoff Vowden (21) |
| 1967–68 | Second Division | 50 | 24 | 15 | 11 | 97 | 60 | 4 | Barry Bridges (28) |
| 1968–69 | Second Division | 48 | 20 | 10 | 18 | 83 | 72 | 7 | |
| 1969–70 | Second Division | 44 | 11 | 11 | 22 | 51 | 83 | 18 | Phil Summerill (13) |
| 1970–71 | Second Division | 50 | 20 | 15 | 15 | 70 | 62 | 9 | Phil Summerill (21) |
| 1971–72 | Second Division | 53 | 25 | 20 | 8 | 78 | 43 | 2 | Bob Latchford |
| 1972–73 | First Division | 49 | 17 | 15 | 17 | 58 | 61 | 10 | Bob Latchford (20) |
| 1973–74 | First Division | 54 | 16 | 18 | 20 | 71 | 80 | 19 | Bob Hatton (20) |
| 1974–75 | First Division | 56 | 20 | 14 | 22 | 69 | 73 | 17 | Bob Hatton (18) |
| 1975–76 | First Division | 46 | 14 | 8 | 24 | 62 | 79 | 19 | Trevor Francis (18) |
| 1976–77 | First Division | 45 | 14 | 12 | 19 | 66 | 65 | 13 | Trevor Francis (21) |
| 1977–78 | First Division | 45 | 17 | 9 | 19 | 60 | 64 | 11 | Trevor Francis (29) |
| 1978–79 | First Division | 44 | 6 | 10 | 28 | 39 | 71 | 21 | Alan Buckley (8) |
| 1979–80 | Second Division | 48 | 25 | 11 | 12 | 67 | 46 | 3 | Keith Bertschin (18) |
| 1980–81 | First Division | 50 | 17 | 14 | 19 | 61 | 71 | 13 | Frank Worthington (18) |
| 1981–82 | First Division | 45 | 10 | 14 | 21 | 58 | 69 | 16 | Tony Evans (16) |
| 1982–83 | First Division | 49 | 15 | 16 | 18 | 51 | 62 | 17 | Mick Ferguson (8) |
| 1983–84 | First Division | 55 | 18 | 17 | 20 | 61 | 62 | 20 | Mick Harford (15) |
| 1984–85 | Second Division | 50 | 27 | 11 | 12 | 67 | 40 | 2 | Wayne Clarke (19) |
| 1985–86 | First Division | 47 | 10 | 6 | 31 | 37 | 82 | 21 | Andy Kennedy (8) |
| 1986–87 | Second Division | 49 | 14 | 18 | 17 | 58 | 72 | 19 | Wayne Clarke (19) |
| 1987–88 | Second Division | 50 | 13 | 16 | 21 | 49 | 73 | 19 | Steve Whitton (16) |
| 1988–89 | Second Division | 52 | 9 | 11 | 32 | 34 | 93 | 23 | Steve Whitton (6) |
| 1989–90 | Third Division | 57 | 23 | 15 | 19 | 71 | 69 | 7 | Dennis Bailey (20) |
| 1990–91 | Third Division | 58 | 24 | 19 | 15 | 62 | 58 | 12 | |
| 1991–92 | Third Division | 56 | 26 | 15 | 15 | 83 | 67 | 2 | Nigel Gleghorn (22) |
| 1992–93 | First Division | 55 | 16 | 15 | 24 | 59 | 85 | 19 | John Frain (8) |
| 1993–94 | First Division | 53 | 14 | 13 | 26 | 58 | 79 | 22 | |
| 1994–95 | Second Division | 64 | 36 | 19 | 9 | 117 | 52 | 1 | Steve Claridge (25) |
| 1995–96 | First Division | 65 | 24 | 19 | 22 | 90 | 86 | 15 | Jonathan Hunt (15) |
| 1996–97 | First Division | 53 | 21 | 16 | 16 | 62 | 54 | 10 | Paul Devlin (19) |
| 1997–98 | First Division | 55 | 25 | 17 | 13 | 80 | 48 | 7 | Paul Furlong (19) |
| 1998–99 | First Division | 54 | 27 | 13 | 14 | 82 | 45 | 4 | Dele Adebola (17) |
| 1999–00 | First Division | 56 | 29 | 11 | 16 | 80 | 55 | 5 | Paul Furlong (11) |
| 2000–01 | First Division | 59 | 31 | 11 | 17 | 85 | 61 | 5 | Geoff Horsfield (12) |
| 2001–02 | First Division | 53 | 24 | 15 | 14 | 79 | 60 | 5 | Tommy Mooney (15) |
| 2002–03 | Premier League | 41 | 14 | 9 | 18 | 45 | 56 | 13 | Stern John (9) |
| 2003–04 | Premier League | 43 | 14 | 15 | 14 | 49 | 52 | 10 | Mikael Forssell (19) |
| 2004–05 | Premier League | 42 | 13 | 12 | 17 | 46 | 50 | 12 | Emile Heskey (11) |
| 2005–06 | Premier League | 48 | 13 | 13 | 22 | 41 | 65 | 18 | |
| 2006–07 | Championship | 53 | 30 | 9 | 14 | 85 | 52 | 2 | Gary McSheffrey (16) |
| 2007–08 | Premier League | 41 | 9 | 11 | 21 | 49 | 68 | 19 | Mikael Forssell (9) |
| 2008–09 | Championship | 49 | 24 | 14 | 11 | 58 | 41 | 2 | Kevin Phillips (14) |
| 2009–10 | Premier League | 45 | 17 | 12 | 16 | 45 | 54 | 9 | Cameron Jerome (11) |
| 2010–11 | Premier League | 51 | 17 | 17 | 17 | 68 | 74 | 18 | Craig Gardner (10) |
| 2011–12 | Championship | 62 | 26 | 21 | 15 | 97 | 67 | 4 | Marlon King (18) |
| 2012–13 | Championship | 50 | 16 | 17 | 17 | 72 | 76 | 12 | Marlon King (14) |
| 2013–14 | Championship | 52 | 14 | 13 | 25 | 75 | 86 | 21 | {{nowrap| }} (10) |
| 2014–15 | Championship | 50 | 18 | 15 | 17 | 61 | 72 | 10 | Clayton Donaldson (16) |
| 2015–16 | Championship | 50 | 18 | 15 | 17 | 58 | 53 | 10 | Clayton Donaldson (11) |
| 2016–17 | Championship | 49 | 13 | 15 | 21 | 47 | 69 | 19 | Lukas Jutkiewicz (12) |
| 2017–18 | Championship | 51 | 15 | 8 | 28 | 47 | 76 | 19 | Ché Adams (9) |
| 2018–19 | Championship | 48 | 14 | 19 | 15 | 64 | 62 | 17 | Ché Adams (22) |
| 2019–20 | Championship | 51 | 13 | 16 | 22 | 58 | 82 | 20 | Lukas Jutkiewicz (15) |
| 2020–21 | Championship | 48 | 13 | 13 | 22 | 37 | 65 | 18 | Lukas Jutkiewicz (8) |
| 2021–22 | Championship | 49 | 12 | 14 | 23 | 51 | 78 | 20 | Scott Hogan (10) |
| 2022–23 | Championship | 50 | 15 | 13 | 22 | 53 | 64 | 17 | Scott Hogan (10) |
| 2023–24 | Championship | 51 | 14 | 12 | 25 | 54 | 75 | 22 | Jay Stansfield (13) |
| 2024–25 | League One | 60 | 44 | 10 | 6 | 111 | 45 | 1 | Jay Stansfield (23) |
| 2025–26 | Championship | 50 | 19 | 14 | 17 | 63 | 61 | 10 | Jay Stansfield Marvin Ducksch (10) |
| 2026–27 | 4 | 1 | 2 | 1 | 4 | 8 |