League Record as Walsall Town Swifts
| Season | Position Finished | Played | Won | Drawn | Lost | For | Against | Points | League & Division |
| 1889/90 | 9th | 22 | 8 | 3 | 11 | 44 | 59 | 19 | Football Alliance |
| 1890/91 | 7th | 22 | 9 | 3 | 10 | 34 | 61 | 21 | Football Alliance |
| 1891/92 | 11th | 22 | 6 | 3 | 13 | 33 | 59 | 15 | Football Alliance |
| ▲Walsall Town Swifts were Elected to the Football League | |||||||||
| 1892/93 | ►12th | 22 | 5 | 3 | 14 | 37 | 75 | 13 | Football League Second Division |
| 1893/94 | 10th | 28 | 10 | 3 | 15 | 51 | 61 | 23 | Football League Second Division |
| 1894/95 | ▼14th | 30 | 10 | 0 | 20 | 47 | 92 | 20 | Football League Second Division |
| ▼Walsall Town Swifts failed to be Re-Elected to League and joined the Midland League as Walsall | |||||||||
League Record as Walsall
| Season | Position Finished | Played | Won | Drawn | Lost | For | Against | Points | League & Division |
| 1895/96 | 3rd | 28 | 17 | 6 | 5 | 91 | 47 | 40 | Midland League |
| ▲Walsall were Elected back to the Football League | |||||||||
| 1896/97 | 12th | 30 | 11 | 4 | 15 | 53 | 69 | 26 | Football League Second Division |
| 1897/98 | 10th | 30 | 12 | 5 | 13 | 58 | 58 | 29 | Football League Second Division |
| 1898/99 | 6th | 34 | 15 | 12 | 7 | 79 | 36 | 42 | Football League Second Division |
| 1899/00 | 12th | 34 | 12 | 8 | 14 | 50 | 55 | 32 | Football League Second Division |
| 1900/01 | ▼16th | 34 | 7 | 13 | 14 | 40 | 56 | 27 | Football League Second Division |
| ▼Walsall failed to be Re-Elected to the League and rejoined the Midland League | |||||||||
| 1901/02 | 5th | 28 | 14 | 7 | 7 | 51 | 37 | 35 | Midland League |
| 1902/03 | 9th | 32 | 12 | 7 | 13 | 52 | 48 | 31 | Midland League |
| 1903/04 | 13th | 34 | 11 | 7 | 16 | 45 | 65 | 29 | Birmingham & District League |
| 1904/05 | 14th | 34 | 11 | 6 | 17 | 44 | 77 | 28 | Birmingham & District League |
| 1905/06 | 16th | 34 | 7 | 6 | 21 | 42 | 89 | 20 | Birmingham & District League |
| 1906/07 | 13th | 34 | 14 | 4 | 16 | 58 | 79 | 32 | Birmingham & District League |
| 1907/08 | 10th | 34 | 15 | 3 | 16 | 67 | 72 | 33 | Birmingham & District League |
| 1908/09 | 15th | 34 | 10 | 8 | 16 | 47 | 56 | 28 | Birmingham & District League |
| 1909/10 | 5th | 34 | 18 | 7 | 9 | 66 | 44 | 43 | Birmingham & District League |
| 1910/11 | 3rd | 34 | 20 | 6 | 8 | 60 | 44 | 46 | Birmingham & District League |
| 9th | 22 | 7 | 4 | 11 | 37 | 41 | 18 | Southern League Division 2 | |
| 1911/12 | 4th | 34 | 17 | 7 | 10 | 56 | 34 | 41 | Birmingham & District League |
| 7th | 25 | 13 | 1 | 11 | 44 | 41 | 27 | Southern League Division 2 | |
| 1912/13 | 7th | 34 | 15 | 5 | 14 | 60 | 54 | 35 | Birmingham & District League |
| 1913/14 | 10th | 34 | 13 | 8 | 13 | 48 | 61 | 34 | Birmingham & District League |
| 1914/15 | 3rd | 34 | 21 | 5 | 8 | 66 | 44 | 47 | Birmingham & District League |
| World War 1 Suspended Play | |||||||||
| 1919/20 | 16th | 34 | 11 | 6 | 17 | 53 | 62 | 28 | Birmingham & District League |
| 1920/21 | 5th | 34 | 18 | 6 | 10 | 68 | 47 | 42 | Birmingham & District League |
| ▲Walsall were Elected to the Football League | |||||||||
| 1921/22 | 8th | 38 | 18 | 3 | 17 | 66 | 65 | 39 | Football League Third Division North |
| 1922/23 | 3rd | 38 | 19 | 8 | 11 | 51 | 44 | 46 | Football League Third Division North |
| 1923/24 | 17th | 42 | 14 | 8 | 20 | 44 | 59 | 36 | Football League Third Division North |
| 1924/25 | 19th | 42 | 13 | 11 | 18 | 44 | 53 | 37 | Football League Third Division North |
| 1925/26 | ►21st | 42 | 10 | 6 | 26 | 58 | 107 | 26 | Football League Third Division North |
| 1926/27 | ◊14th | 42 | 14 | 10 | 18 | 68 | 81 | 38 | Football League Third Division North |
| 1927/28 | 18th | 42 | 12 | 9 | 21 | 75 | 101 | 33 | Football League Third Division South |
| 1928/29 | 14th | 42 | 13 | 12 | 17 | 73 | 79 | 38 | Football League Third Division South |
| 1929/30 | 17th | 42 | 13 | 8 | 21 | 71 | 78 | 34 | Football League Third Division South |
| 1930/31 | ◊17th | 42 | 14 | 9 | 19 | 78 | 95 | 37 | Football League Third Division South |
| 1931/32 | 16th | 40 | 16 | 3 | 21 | 57 | 85 | 35 | Football League Third Division North |
| 1932/33 | 5th | 42 | 19 | 10 | 13 | 75 | 58 | 48 | Football League Third Division North |
| 1933/34 | 4th | 42 | 23 | 7 | 12 | 97 | 60 | 53 | Football League Third Division North |
| 1934/35 | 14th | 42 | 13 | 10 | 19 | 81 | 72 | 36 | Football League Third Division North |
| 1935/36 | ◊10th | 42 | 16 | 9 | 17 | 79 | 59 | 41 | Football League Third Division North |
| 1936/37 | 17th | 42 | 13 | 10 | 19 | 63 | 85 | 36 | Football League Third Division South |
| 1937/38 | ►21st | 42 | 11 | 7 | 24 | 52 | 88 | 29 | Football League Third Division South |
| 1938/39 | ►21st | 42 | 11 | 11 | 20 | 68 | 69 | 33 | Football League Third Division South |
| World War 2 Suspended Play | |||||||||
| 1946/47 | 5th | 42 | 17 | 12 | 13 | 74 | 59 | 46 | Football League Third Division South |
| 1947/48 | 3rd | 42 | 21 | 9 | 12 | 70 | 40 | 51 | Football League Third Division South |
| 1948/49 | 14th | 42 | 15 | 8 | 19 | 56 | 64 | 38 | Football League Third Division South |
| 1949/50 | 19th | 42 | 9 | 16 | 17 | 61 | 62 | 34 | Football League Third Division South |
| 1950/51 | 15th | 46 | 15 | 10 | 21 | 52 | 62 | 40 | Football League Third Division South |
| 1951/52 | ►24th | 46 | 13 | 5 | 28 | 55 | 94 | 31 | Football League Third Division South |
| 1952/53 | ►24th | 46 | 7 | 10 | 29 | 56 | 118 | 24 | Football League Third Division South |
| 1953/54 | ►24th | 46 | 9 | 8 | 29 | 40 | 87 | 26 | Football League Third Division South |
| 1954/55 | ►23rd | 46 | 10 | 14 | 22 | 75 | 86 | 34 | Football League Third Division South |
| 1955/56 | 20th | 46 | 15 | 8 | 23 | 68 | 84 | 38 | Football League Third Division South |
| 1956/57 | 15th | 46 | 16 | 12 | 18 | 80 | 74 | 44 | Football League Third Division South |
| 1957/58 | 20th | 46 | 14 | 9 | 23 | 61 | 75 | 37 | Football League Third Division South |
| The Football League ended its Regionalised Third Division and split into 2 National Divisions, Walsall were placed in the new Fourth Division | |||||||||
| 1958/59 | 6th | 46 | 21 | 10 | 15 | 95 | 64 | 52 | Football League Fourth Division |
| 1959/60 | ▲1st | 46 | 28 | 9 | 9 | 102 | 60 | 65 | Football League Fourth Division |
| 1960/61 | ▲2nd | 46 | 28 | 6 | 12 | 98 | 60 | 62 | Football League Third Division |
| 1961/62 | 14th | 42 | 14 | 11 | 17 | 70 | 75 | 39 | Football League Second Division |
| 1962/63 | ▼21st | 42 | 11 | 9 | 22 | 53 | 89 | 31 | Football League Second Division |
| 1963/64 | 19th | 46 | 13 | 14 | 19 | 59 | 76 | 40 | Football League Third Division |
| 1964/65 | 19th | 46 | 15 | 7 | 24 | 55 | 80 | 37 | Football League Third Division |
| 1965/66 | 9th | 46 | 20 | 10 | 16 | 77 | 64 | 50 | Football League Third Division |
| 1966/67 | 12th | 46 | 18 | 10 | 18 | 65 | 72 | 46 | Football League Third Division |
| 1967/68 | 7th | 46 | 19 | 12 | 15 | 74 | 61 | 50 | Football League Third Division |
| 1968/69 | 13th | 46 | 14 | 16 | 16 | 50 | 49 | 44 | Football League Third Division |
| 1969/70 | 12th | 46 | 17 | 12 | 17 | 54 | 67 | 46 | Football League Third Division |
| 1970/71 | 20th | 46 | 14 | 11 | 21 | 51 | 57 | 39 | Football League Third Division |
| 1971/72 | 9th | 46 | 15 | 18 | 13 | 62 | 57 | 48 | Football League Third Division |
| 1972/73 | 17th | 46 | 18 | 7 | 21 | 56 | 66 | 43 | Football League Third Division |
| 1973/74 | 15th | 46 | 16 | 13 | 17 | 57 | 48 | 45 | Football League Third Division |
| 1974/75 | 8th | 46 | 18 | 13 | 15 | 67 | 52 | 49 | Football League Third Division |
| 1975/76 | 7th | 46 | 18 | 14 | 14 | 74 | 61 | 50 | Football League Third Division |
| 1976/77 | 15th | 46 | 13 | 15 | 18 | 57 | 65 | 41 | Football League Third Division |
| 1977/78 | 6th | 46 | 18 | 17 | 11 | 61 | 50 | 53 | Football League Third Division |
| 1978/79 | ▼22nd | 46 | 10 | 12 | 24 | 56 | 71 | 32 | Football League Third Division |
| 1979/80 | ▲2nd | 46 | 23 | 18 | 5 | 75 | 47 | 64 | Football League Fourth Division |
| 1980/81 | 20th | 46 | 13 | 15 | 18 | 59 | 74 | 41 | Football League Third Division |
| 1981/82 | 20th | 46 | 13 | 14 | 19 | 51 | 55 | 53 | Football League Third Division |
| 1982/83 | 10th | 46 | 17 | 13 | 16 | 64 | 63 | 64 | Football League Third Division |
| 1983/84 | 6th | 46 | 22 | 9 | 15 | 68 | 61 | 75 | Football League Third Division |
| 1984/85 | 11th | 46 | 18 | 13 | 15 | 58 | 52 | 67 | Football League Third Division |
| 1985/86 | 6th | 46 | 22 | 9 | 15 | 90 | 64 | 75 | Football League Third Division |
| 1986/87 | 8th | 46 | 22 | 9 | 15 | 70 | 67 | 75 | Football League Third Division |
| 1987/88 | ♦▲3rd | 46 | 23 | 13 | 10 | 68 | 50 | 82 | Football League Third Division |
| 1988/89 | ▼24th | 46 | 5 | 16 | 25 | 41 | 80 | 31 | Football League Second Division |
| 1989/90 | ▼24th | 46 | 9 | 14 | 23 | 40 | 72 | 41 | Football League Third Division |
| 1990/91 | 16th | 46 | 12 | 17 | 17 | 48 | 51 | 53 | Football League Fourth Division |
| 1991/92 | 15th | 42 | 12 | 13 | 17 | 48 | 58 | 49 | Football League Fourth Division |
| Following the formation of the Premier League, the Fourth Division was renamed to Division 3 | |||||||||
| 1992/93 | ♦►5th | 42 | 22 | 7 | 13 | 76 | 61 | 73 | Football League Division 3 |
| 1993/94 | 10th | 42 | 17 | 9 | 16 | 48 | 53 | 60 | Football League Division 3 |
| 1994/95 | ▲2nd | 42 | 24 | 11 | 7 | 75 | 40 | 83 | Football League Division 3 |
| 1995/96 | 11th | 46 | 19 | 12 | 15 | 60 | 45 | 69 | Football League Division 2 |
| 1996/97 | 12th | 46 | 19 | 10 | 17 | 54 | 53 | 67 | Football League Division 2 |
| 1997/98 | 19th | 46 | 14 | 12 | 20 | 43 | 52 | 54 | Football League Division 2 |
| 1998/99 | ▲2nd | 46 | 26 | 9 | 11 | 63 | 47 | 87 | Football League Division 2 |
| 1999/00 | ▼22nd | 46 | 11 | 13 | 22 | 52 | 77 | 46 | Football League Division 1 |
| 2000/01 | ♦▲4th | 46 | 23 | 12 | 11 | 79 | 50 | 81 | Football League Division 2 |
| 2001/02 | 18th | 46 | 13 | 12 | 21 | 51 | 71 | 51 | Football League Division 1 |
| 2002/03 | 17th | 46 | 15 | 9 | 22 | 57 | 69 | 54 | Football League Division 1 |
| 2003/04 | ▼22nd | 46 | 13 | 12 | 21 | 45 | 65 | 51 | Football League Division 1 |
| The Football League renamed its Divisions, Division 2 became League One | |||||||||
| 2004/05 | 14th | 46 | 16 | 12 | 18 | 65 | 69 | 60 | Football League One |
| 2005/06 | ▼24th | 46 | 11 | 14 | 21 | 47 | 70 | 47 | Football League One |
| 2006/07 | ▲1st | 46 | 25 | 14 | 7 | 66 | 34 | 89 | Football League Two |
| 2007/08 | 12th | 46 | 16 | 16 | 14 | 52 | 46 | 64 | Football League One |
| 2008/09 | 13th | 46 | 17 | 10 | 19 | 61 | 66 | 61 | Football League One |
| 2009/10 | 10th | 46 | 16 | 14 | 16 | 60 | 63 | 62 | Football League One |
| 2010/11 | 20th | 46 | 12 | 12 | 22 | 56 | 75 | 48 | Football League One |
| 2011/12 | 19th | 46 | 10 | 20 | 16 | 51 | 57 | 50 | Football League One |
| 2012/13 | 9th | 46 | 17 | 17 | 12 | 65 | 58 | 68 | Football League One |
| 2013/14 | 13th | 46 | 14 | 16 | 16 | 49 | 49 | 58 | Football League One |
| 2014/15 | 14th | 46 | 14 | 17 | 15 | 50 | 54 | 59 | Football League One |
| 2015/16 | ♦►3rd | 46 | 24 | 12 | 10 | 71 | 49 | 84 | Football League One |
| 2016/17 | 14th | 46 | 14 | 16 | 16 | 51 | 58 | 58 | English Football League One |
| 2017/18 | 19th | 46 | 13 | 13 | 20 | 53 | 66 | 52 | English Football League One |
| 2018/19 | ▼22nd | 46 | 12 | 11 | 23 | 49 | 71 | 47 | English Football League One |
| 2019/20 | 12th | 36 | 13 | 8 | 15 | 40 | 40 | 47 | English Football League Two |
| 2020/21 | 19th | 46 | 11 | 20 | 15 | 45 | 53 | 53 | English Football League Two |
| 2021/22 | 16th | 46 | 14 | 12 | 20 | 47 | 60 | 54 | English Football League Two |
| 2022/23 | 16th | 46 | 12 | 19 | 15 | 46 | 49 | 55 | English Football League Two |
| 2023/24 | 11th | 46 | 18 | 11 | 17 | 69 | 73 | 65 | English Football League Two |
| 2024/25 | ♦►4th | 46 | 21 | 14 | 11 | 75 | 54 | 77 | English Football League Two |
| 2025/26 | - | - | - | - | - | - | - | - | English Football League Two |