Every Walsall season on record, from 1882–83 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 |
|---|---|---|---|---|---|---|---|---|---|
| 1882–83 | 4 | 2 | 0 | 2 | 10 | 8 | |||
| 1883–84 | 4 | 1 | 1 | 2 | 12 | 13 | |||
| 1884–85 | 7 | 4 | 1 | 2 | 14 | 9 | |||
| 1885–86 | 3 | 1 | 0 | 2 | 4 | 8 | |||
| 1886–87 | 3 | 1 | 1 | 1 | 11 | 11 | |||
| 1887–88 | 2 | 0 | 0 | 2 | 2 | 4 | |||
| 1888–89 | Midland Association | 2 | 1 | 0 | 1 | 6 | 7 | Sammy Holmes (7) | |
| 1892–93 | Second Division | 22 | 5 | 3 | 14 | 37 | 75 | 12 | Norman Forsyth (7) |
| 1893–94 | Second Division | 28 | 10 | 3 | 15 | 51 | 61 | 10 | Walt McWhinnie (11) |
| 1894–95 | Second Division | 30 | 10 | 0 | 20 | 47 | 92 | 14 | Will Devey (7) |
| 1896–97 | Second Division | 30 | 11 | 4 | 15 | 54 | 69 | 12 | Alf Griffin (12) |
| 1897–98 | Second Division | 31 | 12 | 5 | 14 | 58 | 59 | 10 | Jack Aston (12) |
| 1898–99 | Second Division | 34 | 15 | 12 | 7 | 79 | 36 | 6 | Jack Aston (16) |
| 1899–00 | Second Division | 36 | 12 | 9 | 15 | 52 | 62 | 12 | Jim Moffatt (13) |
| 1900–01 | Second Division | 34 | 7 | 13 | 14 | 40 | 56 | 16 | Alfred Dean (11) |
| 1901–02 | Midland League | 2 | 1 | 0 | 1 | 1 | 5 | 5 | Alf Green (12) |
| 1911–12 | B'ham DL | 1 | 0 | 0 | 1 | 0 | 6 | 4 | W. Freeman (18) |
| 1921–22 | Third Division North | 40 | 18 | 4 | 18 | 69 | 72 | 8 | Paddy Reid (21) |
| 1922–23 | Division 3 (N) | 38 | 19 | 8 | 11 | 51 | 44 | 3 | Teddy Groves (13) |
| 1923–24 | Division 3 (N) | 42 | 14 | 8 | 20 | 44 | 59 | 17 | Teddy Groves (11) |
| 1924–25 | Division 3 (N) | 42 | 13 | 11 | 18 | 44 | 53 | 19 | Fred Burrill (14) |
| 1925–26 | Division 3 (N) | 43 | 10 | 6 | 27 | 58 | 108 | 21 | Harry Crockford (17) |
| 1926–27 | Division 3 (N) | 45 | 16 | 10 | 19 | 71 | 85 | 14 | Bert White (24) |
| 1927–28 | Third Division South | 43 | 12 | 9 | 22 | 77 | 105 | 18 | Moses Lane (36) |
| 1928–29 | Division 3 (S) | 46 | 15 | 13 | 18 | 80 | 87 | 14 | Moses Lane (15) |
| 1929–30 | Division 3 (S) | 46 | 16 | 8 | 22 | 78 | 83 | 17 | Albert Walters (25) |
| 1930–31 | Division 3 (S) | 46 | 16 | 10 | 20 | 84 | 99 | 17 | Johnny Eyres (16) |
| 1931–32 | Division 3 (N) | 42 | 17 | 3 | 22 | 60 | 86 | 16 | Gilbert Alsop (15) |
| 1932–33 | Division 3 (N) | 46 | 22 | 10 | 14 | 83 | 62 | 5 | Gilbert Alsop (28) |
| 1933–34 | Division 3 (N) | 45 | 24 | 8 | 13 | 101 | 62 | 4 | Gilbert Alsop (39) |
| 1934–35 | Division 3 (N) | 46 | 15 | 11 | 20 | 86 | 76 | 14 | Gilbert Alsop (39) |
| 1935–36 | Division 3 (N) | 46 | 18 | 10 | 18 | 83 | 62 | 10 | Bill Evans (24) |
| 1936–37 | Division 3 (S) | 47 | 16 | 11 | 20 | 72 | 92 | 17 | Bill Evans (15) |
| 1937–38 | Division 3 (S) | 44 | 12 | 7 | 25 | 56 | 91 | 21 | Bill Evans (9) |
| 1938–39 | Division 3 (S) | 48 | 15 | 12 | 21 | 82 | 75 | 21 | Gilbert Alsop (23) |
| 1945–46 | 2 | 1 | 0 | 1 | 4 | 6 | |||
| 1946–47 | Division 3 (S) | 46 | 19 | 13 | 14 | 83 | 65 | 5 | Dennis Wilshaw (18) |
| 1947–48 | Division 3 (S) | 46 | 23 | 10 | 13 | 78 | 47 | 3 | Dave Massart (23) |
| 1948–49 | Division 3 (S) | 46 | 18 | 8 | 20 | 63 | 72 | 14 | Phil Chapman (25) |
| 1949–50 | Division 3 (S) | 43 | 9 | 16 | 18 | 62 | 66 | 19 | Johnny Devlin (22) |
| 1950–51 | Division 3 (S) | 47 | 15 | 10 | 22 | 54 | 66 | 15 | Don Dearson (10) |
| 1951–52 | Division 3 (S) | 47 | 13 | 5 | 29 | 55 | 95 | 24 | Hugh Evans (12) |
| 1952–53 | Division 3 (S) | 47 | 7 | 10 | 30 | 57 | 120 | 24 | Jack Bridgett (10) |
| 1953–54 | Division 3 (S) | 51 | 11 | 10 | 30 | 49 | 91 | 24 | George Dean (10) |
| 1954–55 | Division 3 (S) | 49 | 12 | 14 | 23 | 82 | 91 | 23 | Tony Richards (22) |
| 1955–56 | Division 3 (S) | 50 | 17 | 9 | 24 | 78 | 89 | 20 | Tony Richards (15) |
| 1956–57 | Division 3 (S) | 47 | 16 | 12 | 19 | 80 | 75 | 15 | Don Dorman (18) |
| 1957–58 | Division 3 (S) | 47 | 14 | 9 | 24 | 62 | 77 | 20 | Tony Richards (21) |
| 1958–59 | Fourth Division | 47 | 21 | 10 | 16 | 95 | 65 | 6 | Tony Richards (28) |
| 1959–60 | Fourth Division | 48 | 29 | 9 | 10 | 107 | 65 | 1 | Tony Richards (24) |
| 1960–61 | Third Division | 48 | 28 | 6 | 14 | 99 | 64 | 2 | Tony Richards (36) |
| 1961–62 | Second Division | 48 | 16 | 13 | 19 | 80 | 86 | 14 | Colin Taylor (17) |
| 1962–63 | Second Division | 44 | 11 | 9 | 24 | 54 | 92 | 21 | Colin Taylor (10) |
| 1963–64 | Third Division | 50 | 14 | 15 | 21 | 61 | 80 | 19 | Graham Matthews (15) |
| 1964–65 | Third Division | 49 | 15 | 8 | 26 | 57 | 89 | 19 | Allan Clarke (23) |
| 1965–66 | Third Division | 53 | 24 | 11 | 18 | 94 | 76 | 9 | Allan Clarke (18) |
| 1966–67 | Third Division | 53 | 23 | 10 | 20 | 78 | 80 | 12 | Alan Baker (13) |
| 1967–68 | Third Division | 54 | 23 | 14 | 17 | 88 | 76 | 7 | Jimmy Murray (11) |
| 1968–69 | Third Division | 53 | 17 | 18 | 18 | 60 | 56 | 13 | Geoff Morris (9) |
| 1969–70 | Third Division | 54 | 19 | 16 | 19 | 60 | 73 | 12 | Colin Taylor (9) |
| 1970–71 | Third Division | 50 | 16 | 11 | 23 | 55 | 59 | 20 | Colin Taylor (13) |
| 1971–72 | Third Division | 52 | 18 | 19 | 15 | 71 | 63 | 9 | Geoff Morris (11) |
| 1972–73 | Third Division | 50 | 19 | 8 | 23 | 63 | 76 | 17 | Chris Jones (11) |
| 1973–74 | Third Division | 52 | 18 | 15 | 19 | 64 | 54 | 15 | Alan Buckley (21) |
| 1974–75 | Third Division | 53 | 22 | 14 | 17 | 79 | 60 | 8 | Alan Buckley (21) |
| 1975–76 | Third Division | 49 | 18 | 15 | 16 | 75 | 64 | 7 | Alan Buckley (34) |
| 1976–77 | Third Division | 55 | 17 | 18 | 20 | 65 | 71 | 15 | Alan Buckley (20) |
| 1977–78 | Third Division | 57 | 25 | 19 | 13 | 77 | 60 | 6 | Alan Buckley (24) |
| 1978–79 | Third Division | 50 | 12 | 12 | 26 | 61 | 76 | 22 | Terry Austin (13) |
| 1979–80 | Fourth Division | 52 | 24 | 21 | 7 | 80 | 53 | 2 | Don Penn (25) |
| 1980–81 | Third Division | 50 | 14 | 15 | 21 | 65 | 83 | 20 | Alan Buckley (11) |
| 1981–82 | Third Division | 50 | 15 | 14 | 21 | 55 | 60 | 20 | Don Penn (14) |
| 1982–83 | Third Division | 52 | 19 | 15 | 18 | 71 | 66 | 10 | Alan Buckley (13) |
| 1983–84 | Third Division | 56 | 28 | 10 | 18 | 85 | 76 | 6 | Alistair Brown (13) |
| 1984–85 | Third Division | 55 | 23 | 14 | 18 | 72 | 64 | 11 | Richard O'Kelly (16) |
| 1985–86 | Third Division | 54 | 26 | 11 | 17 | 105 | 75 | 6 | Nicky Cross (21) |
| 1986–87 | Third Division | 57 | 28 | 11 | 18 | 102 | 80 | 8 | David Kelly (23) |
| 1987–88 | Third Division | 58 | 29 | 16 | 13 | 87 | 63 | 3 | David Kelly (20) |
| 1988–89 | Second Division | 52 | 6 | 18 | 28 | 48 | 88 | 24 | Stuart Rimmer (8) |
| 1989–90 | Third Division | 51 | 11 | 14 | 26 | 46 | 77 | 24 | Stuart Rimmer (10) |
| 1990–91 | Fourth Division | 52 | 14 | 17 | 21 | 56 | 66 | 16 | Stuart Rimmer (13) |
| 1991–92 | Fourth Division | 46 | 12 | 15 | 19 | 51 | 63 | 15 | Rod McDonald (17) |
| 1992–93 | Third Division | 49 | 23 | 8 | 18 | 81 | 79 | 5 | Wayne Clarke (21) |
| 1993–94 | Third Division | 47 | 17 | 13 | 17 | 51 | 57 | 10 | Kyle Lightbourne (7) |
| 1994–95 | Third Division | 51 | 28 | 13 | 10 | 93 | 52 | 2 | Kyle Lightbourne (23) |
| 1995–96 | Second Division | 53 | 22 | 14 | 17 | 77 | 57 | 11 | Kyle Lightbourne (15) |
| 1996–97 | Second Division | 53 | 21 | 13 | 19 | 62 | 62 | 12 | Kyle Lightbourne (20) |
| 1997–98 | Second Division | 63 | 27 | 13 | 23 | 78 | 70 | 19 | Roger Boli (12) |
| 1998–99 | Second Division | 50 | 27 | 10 | 13 | 65 | 52 | 2 | Andy Rammell (18) |
| 1999–00 | First Division | 52 | 13 | 14 | 25 | 64 | 90 | 22 | Michael Ricketts (11) |
| 2000–01 | Second Division | 56 | 28 | 15 | 13 | 97 | 61 | 4 | Jorge Leitão (18) |
| 2001–02 | First Division | 51 | 16 | 13 | 22 | 60 | 77 | 18 | Jorge Leitão (8) |
| 2002–03 | First Division | 53 | 18 | 12 | 23 | 63 | 74 | 17 | José Júnior (15) |
| 2003–04 | First Division | 49 | 14 | 12 | 23 | 49 | 71 | 22 | Jorge Leitão (7) |
| 2004–05 | League One | 48 | 16 | 12 | 20 | 66 | 72 | 14 | Matty Fryatt (15) |
| 2005–06 | League One | 52 | 14 | 15 | 23 | 55 | 77 | 24 | Matty Fryatt (11) |
| 2006–07 | League Two | 50 | 26 | 15 | 9 | 68 | 38 | 1 | Dean Keates (13) |
| 2007–08 | League One | 53 | 18 | 18 | 17 | 57 | 53 | 12 | Tommy Mooney (11) |
| 2008–09 | League One | 50 | 18 | 10 | 22 | 65 | 73 | 13 | Michael Ricketts (12) |
| 2009–10 | League One | 49 | 17 | 14 | 18 | 62 | 66 | 10 | Troy Deeney (14) |
| 2010–11 | League One | 51 | 13 | 13 | 25 | 60 | 80 | 20 | Julian Gray (10) |
| 2011–12 | League One | 53 | 12 | 24 | 17 | 59 | 66 | 19 | Jon Macken (7) |
| 2012–13 | League One | 51 | 18 | 19 | 14 | 71 | 67 | 9 | Will Grigg (19) |
| 2013–14 | League One | 50 | 16 | 16 | 18 | 55 | 54 | 13 | Craig Westcarr (14) |
| 2014–15 | League One | 56 | 18 | 20 | 18 | 60 | 65 | 14 | Tom Bradshaw (17) |
| 2015–16 | League One | 57 | 28 | 14 | 15 | 83 | 70 | 3 | Tom Bradshaw (17) |
| 2016–17 | League One | 52 | 17 | 16 | 19 | 60 | 67 | 14 | Erhun Öztumer (15) |
| 2017–18 | League One | 48 | 13 | 13 | 22 | 56 | 71 | 19 | Erhun Öztumer (15) |
| 2018–19 | League One | 56 | 17 | 13 | 26 | 69 | 89 | 22 | Andy Cook (13) |
| 2019–20 | League Two | 45 | 17 | 10 | 18 | 56 | 59 | 12 | Josh Gordon (9) |
| 2020–21 | League Two | 51 | 11 | 23 | 17 | 49 | 59 | 19 | Elijah Adebayo (10) |
| 2021–22 | League Two | 53 | 16 | 14 | 23 | 51 | 67 | 16 | George Miller (12) |
| 2022–23 | League Two | 55 | 16 | 19 | 20 | 55 | 58 | 16 | Danny Johnson (12) |
| 2023–24 | League Two | 54 | 20 | 13 | 21 | 82 | 89 | 11 | Isaac Hutchinson (12) |
| 2024–25 | League Two | 59 | 27 | 18 | 14 | 93 | 70 | 4 | Nathan Lowe (15) |
| 2025–26 | 54 | 22 | 13 | 19 | 68 | 65 | |||
| 2026–27 | 5 | 3 | 2 | 0 | 7 | 2 |