# List of Swiss football champions

The following list of Swiss football champions lists all past winners of the top-tier football competitions for clubs in Switzerland. It includes all winners of the present-day Swiss Super League as well as the predecessor leagues played in the country. Swiss champions have been officially determined since the 1898–1899 season.

## Key

| 0†0 | League champions also won the Swiss Cup, i.e. they completed a domestic Double. |

## Serie A (1898–1931)

| Season | Champions (titles) | Runners-up | Third place |
| 1897–98 | Grasshopper (unofficial) | — | — |
| 1898–99 | Anglo-American Club (1) | — | — |
| 1899–1900 | Grasshopper (1) | Bern | — |
| 1900–01 | Grasshopper (2) | Bern | — |
| 1901–02 | Zürich (1) | Young Boys | Bern |
| 1902–03 | Young Boys (1) | Zürich | Neuchâtel |
| 1903–04 | St. Gallen (1) | Old Boys | Servette |
| 1904–05 | Grasshopper (3) | La Chaux-de-Fonds | Young Boys |
| 1905–06 | Winterthur (1) | Servette | Young Boys |
| 1906–07 | Servette (1) | Young Fellows | Basel |
| 1907–08 | Winterthur (2) | Young Boys | — |
| 1908–09 | Young Boys (2) | Winterthur | — |
| 1909–10 | Young Boys (3) | Servette | Aarau |
| 1910–11 | Young Boys (4) | Zürich | Servette |
| 1911–12 | Aarau (1) | Étoile La Chaux-de-Fonds | Servette |
| 1912–13 | Montriond Lausanne (1) | Old Boys | Aarau |
| 1913–14 | Aarau (2) | Young Boys | Cantonal |
| 1914–15 | Brühl (1) | Servette | — |
| 1915–16 | Cantonal (1) | Winterthur | Old Boys |
| 1916–17 | Winterthur (3) | La Chaux-de-Fonds | Young Boys |
| 1917–18 | Servette (2) | Young Boys | St. Gallen |
| 1918–19 | Étoile La Chaux-de-Fonds (1) | Servette | Winterthur |
| 1919–20 | Young Boys (5) | Servette | Grasshopper |
| 1920–21 | Grasshopper (4) | Young Boys | Servette |
| 1921–22 | Servette (3) | Luzern | Blue Stars |
| 1922–23 | FC Bern | Young Fellows | Servette |
| 1923–24 | Zürich (2) | Nordstern | Servette |
| 1924–25 | Servette (4) | Bern | Young Fellows |
| 1925–26 | Servette (5) | Grasshopper | Young Boys |
| 1926–27 | Grasshopper (5) † | Nordstern | Biel-Bienne |
| 1927–28 | Grasshopper (6) | Nordstern | Étoile Carouge |
| 1928–29 | Young Boys (6) | Grasshopper | Urania Genève Sport |
| 1929–30 | Servette (6) | Grasshopper | Biel-Bienne |
| 1930–31 | Grasshopper (7) | Urania Genève Sport | La Chaux-de-Fonds |

## National League (1931–1944)

| Season | Champions (titles) | Runners-up | Third place | Top scorer(s) | Top scorer(s) | Top scorer(s) |
| Season | Champions (titles) | Runners-up | Third place | Player (Club) | Nat. | Goals |
| 1931–32 | Lausanne-Sport (2) | Zürich | Grasshopper | | | |
| 1932–33 | Servette (7) | Grasshopper | Young Boys | |
| 1933–34 | Servette (8) | Grasshopper | Lugano | Leopold Kielholz (Servette) | SUI | 40 |
| 1934–35 | Lausanne-Sport (3) † | Servette | Lugano | Engelbert Bösch (Bern) | AUT | 27 |
| 1935–36 | Lausanne-Sport (4) | Young Fellows | Grasshopper | Willy Jäggi (Lausanne-Sport) | SUI | 27 |
| 1936–37 | Grasshopper (8) † | Young Boys | Young Fellows | Alessandro Frigerio (Young Fellows) | SUI | 23 |
| 1937–38 | Lugano (1) | Grasshopper | Young Boys | Numa Monnard (Basel) | SUI | 20 |
| 1938–39 | Grasshopper (9) | Grenchen | Lugano | Josef Artimovics (Grenchen) | AUT | 15 |
| 1939–40 | Servette (9) | Grenchen | Grasshopper | Georges Aeby (Servette) | SUI | 22 |
| 1940–41 | Lugano (2) | Young Boys | Servette | Alessandro Frigerio (Lugano) | SUI | 26 |
| 1941–42 | Grasshopper (10) † | Grenchen | Servette | Alessandro Frigerio (Lugano) | SUI | 23 |
| 1942–43 | Grasshopper (11) † | Lugano | Lausanne-Sport | Lauro Amadò (Grasshopper) | SUI | 31 |
| 1943–44 | Lausanne-Sport (5) † | Servette | Lugano | Erich Andres (Young Fellows) | SUI | 23 |

## National League A (1944–2003)

| Season | Champions (titles) | Runners-up | Third place | Top scorer(s) | Top scorer(s) | Top scorer(s) |
| Season | Champions (titles) | Runners-up | Third place | Player (Club) | Nat. | Goals |
| 1944–45 | Grasshopper (12) | Lugano | Young Boys | Hans-Peter Friedländer (Grasshopper) | SUI | 26 |
| 1945–46 | Servette (10) | Lugano | Lausanne-Sport | Hans-Peter Friedländer (Grasshopper) | SUI | 25 |
| 1946–47 | Biel-Bienne (1) | Lausanne-Sport | Lugano | Lauro Amadò (Grasshopper) ♦ | SUI | 19 |
| 1946–47 | Biel-Bienne (1) | Lausanne-Sport | Lugano | Hans Blaser (Young Boys) ♦ | SUI | 19 |
| 1947–48 | Bellinzona (1) | Biel-Bienne | Lausanne-Sport | Josef Righetti (Grenchen) | SUI | 26 |
| 1948–49 | Lugano (3) | Basel | La Chaux-de-Fonds | Jacques Fatton (Servette) | SUI | 21 |
| 1949–50 | Servette (11) | Basel | Lausanne-Sport | Jacques Fatton (Servette) | SUI | 32 |
| 1950–51 | Lausanne-Sport (6) | Chiasso | La Chaux-de-Fonds | Hans-Peter Friedländer (Lausanne-Sport) | SUI | 23 |
| 1951–52 | Grasshopper (13) † | Zürich | Chiasso | Josef Hügi (Basel) | SUI | 24 |
| 1952–53 | Basel (1) | Young Boys | Grasshopper | Josef Hügi (Basel) ♦ | SUI | 32 |
| 1952–53 | Basel (1) | Young Boys | Grasshopper | Eugen Meier (Young Boys) ♦ | SUI | 32 |
| 1953–54 | La Chaux-de-Fonds (1) † | Grasshopper | Lausanne-Sport | Josef Hügi (Basel) | SUI | 29 |
| 1954–55 | La Chaux-de-Fonds (2) † | Lausanne-Sport | Grasshopper | Marcel Mauron (La Chaux-de-Fonds) | SUI | 30 |
| 1955–56 | Grasshopper (14) † | La Chaux-de-Fonds | Young Boys | Branislav Vukosavljević (Grasshopper) | YUG | 33 |
| 1956–57 | Young Boys (7) | Grasshopper | La Chaux-de-Fonds | Adrien Kauer (La Chaux-de-Fonds) | SUI | 29 |
| 1957–58 | Young Boys (8) † | Grasshopper | Chiasso | Ernst Wechselberger (Young Boys) | GER | 22 |
| 1958–59 | Young Boys (9) | Grenchen | Zürich | Eugen Meier (Young Boys) | SUI | 24 |
| 1959–60 | Young Boys (10) | Biel-Bienne | La Chaux-de-Fonds | Willy Schneider (Young Boys) | SUI | 25 |
| 1960–61 | Servette (12) | Young Boys | Zürich | Giuliano Robbiani (Grasshopper) | SUI | 27 |
| 1961–62 | Servette (13) | Lausanne-Sport | La Chaux-de-Fonds | Jacques Fatton (Servette) | SUI | 25 |
| 1962–63 | Zürich (3) | Lausanne-Sport | La Chaux-de-Fonds | Peter von Burg (Zürich) | SUI | 24 |
| 1963–64 | La Chaux-de-Fonds (3) | Zürich | Grenchen | Michel Desbiolles (Servette) | SUI | 23 |
| 1964–65 | Lausanne-Sport (7) | Young Boys | Servette | Rolf Blättler (Grasshopper) § | SUI | 19 |
| 1964–65 | Lausanne-Sport (7) | Young Boys | Servette | Pierre Kerkhoffs (Lausanne-Sport) § | NED | 19 |
| 1965–66 | Zürich (4) † | Servette | Lausanne-Sport | Rolf Blättler (Grasshopper) | SUI | 28 |
| 1966–67 | Basel (2) † | Zürich | Lugano | Rolf Blättler (Grasshopper) | SUI | 24 |
| 1967–68 | Zürich (5) | Grasshopper | Lugano | Fritz Künzli (Zürich) | SUI | 28 |
| 1968–69 | Basel (3) | Lausanne-Sport | Zürich | Hans-Otto Peters (Biel-Bienne) | GER | 24 |
| 1969–70 | Basel (4) | Lausanne-Sport | Zürich | Fritz Künzli (Zürich) | SUI | 19 |
| 1970–71 | Grasshopper (15) | Basel | Lugano | Walter Müller (Young Boys) | SUI | 19 |
| 1971–72 | Basel (5) | Zürich | Grasshopper | Herbert Dimmeler (Winterthur) § | SUI | 17 |
| 1971–72 | Basel (5) | Zürich | Grasshopper | Bernd Dörfel (Servette) § | GER | 17 |
| 1972–73 | Basel (6) | Grasshopper | Sion | Ottmar Hitzfeld (Basel) § | GER | 18 |
| 1972–73 | Basel (6) | Grasshopper | Sion | Ove Grahn (Lausanne-Sport) § | SWE | 18 |
| 1973–74 | Zürich (6) | Grasshopper | Servette | Daniel Jeandupeux (Zürich) | SUI | 22 |
| 1974–75 | Zürich (7) | Young Boys | Grasshopper | Ilija Katić (Zürich) | YUG | 23 |
| 1975–76 | Zürich (8) † | Servette | Basel | Peter Risi (Zürich) | SUI | 33 |
| 1976–77 | Basel (7) | Servette | Zürich | Franco Cucinotta (Zürich) | ITA | 28 |
| 1977–78 | Grasshopper (16) | Servette | Basel | Fritz Künzli (Lausanne-Sport) | SUI | 21 |
| 1978–79 | Servette (14) † | Zürich | Grasshopper | Peter Risi (Zürich) | SUI | 16 |
| 1979–80 | Basel (8) | Grasshopper | Servette | Claudio Sulser (Grasshopper) | SUI | 25 |
| 1980–81 | Zürich (9) | Grasshopper | Neuchâtel Xamax | Peter Risi (Luzern) | SUI | 18 |
| 1981–82 | Grasshopper (17) | Servette | Zürich | Claudio Sulser (Grasshopper) | SUI | 23 |
| 1982–83 | Grasshopper (18) † | Servette | St. Gallen | Jean-Paul Brigger (Servette) | SUI | 23 |
| 1983–84 | Grasshopper (19) | Servette | Sion | Georges Bregy (Sion) | SUI | 21 |
| 1984–85 | Servette (15) | Aarau | Neuchâtel Xamax | Dominique Cina (Sion) | SUI | 24 |
| 1985–86 | Young Boys (11) | Neuchâtel Xamax | Luzern | Steen Thychosen (Lausanne-Sport) | DEN | 21 |
| 1986–87 | Neuchâtel Xamax (1) | Grasshopper | Sion | John Eriksen (Servette) | DEN | 28 |
| 1987–88 | Neuchâtel Xamax (2) | Servette | Aarau | John Eriksen (Servette) | DEN | 36 |
| 1988–89 | Luzern (1) | Grasshopper | Sion | Karl-Heinz Rummenigge (Servette) | GER | 24 |
| 1989–90 | Grasshopper (20) † | Lausanne-Sport | Neuchâtel Xamax | Iván Zamorano (St. Gallen) | CHI | 23 |
| 1990–91 | Grasshopper (21) | Sion | Neuchâtel Xamax | Dario Zuffi (Young Boys) | SUI | 17 |
| 1991–92 | Sion (1) | Neuchâtel Xamax | Grasshopper | Miklos Molnar (Servette) | DEN | 18 |
| 1992–93 | Aarau (3) | Young Boys | Servette | Sonny Anderson (Servette) | BRA | 20 |
| 1993–94 | Servette (16) | Grasshopper | Sion | Élber (Grasshopper) | BRA | 21 |
| 1994–95 | Grasshopper (22) | Lugano | Neuchâtel Xamax | Petar Aleksandrov (Neuchâtel Xamax) | BUL | 24 |
| 1995–96 | Grasshopper (23) | Sion | Neuchâtel Xamax | Petar Aleksandrov (Luzern) § | BUL | 19 |
| 1995–96 | Grasshopper (23) | Sion | Neuchâtel Xamax | Viorel Moldovan (Neuchâtel Xamax) § | ROM | 19 |
| 1996–97 | Sion (2) † | Neuchâtel Xamax | Grasshopper | Viorel Moldovan (Grasshopper) | ROM | 27 |
| 1997–98 | Grasshopper (24) | Servette | Lausanne-Sport | Shabani Nonda (Zürich) | DRC | 24 |
| 1998–99 | Servette (17) | Grasshopper | Lausanne-Sport | Alexandre Rey (Servette) | SUI | 19 |
| 1999–2000 | St. Gallen (2) | Lausanne-Sport | Basel | Charles Amoah (St. Gallen) | GHA | 25 |
| 2000–01 | Grasshopper (25) | Lugano | St. Gallen | Stéphane Chapuisat (Grasshopper) § | SUI | 21 |
| 2000–01 | Grasshopper (25) | Lugano | St. Gallen | Christian Giménez (Lugano) § | ARG | 21 |
| 2001–02 | Basel (9) † | Grasshopper | Lugano | Christian Giménez (Basel) § | ARG | 28 |
| 2001–02 | Basel (9) † | Grasshopper | Lugano | Richard Núñez (Grasshopper) § | URU | 28 |
| 2002–03 | Grasshopper (26) | Basel | Neuchâtel Xamax | Richard Núñez (Grasshopper) | URU | 27 |

## Super League (2003–present)

| Season | Recent champions (Super League only) | Runners-up | Third place | Top scorer(s) | Top scorer(s) | Top scorer(s) |
| Season | Recent champions (Super League only) | Runners-up | Third place | Player (Club) | Nat. | Goals |
| 2003–04 | Basel | Young Boys | Servette | Stéphane Chapuisat (Young Boys) | | 23 |
| 2004–05 | Basel (2) | Thun | Grasshopper | Christian Giménez (Basel) | | 27 |
| 2005–06 | Zürich | Basel | Young Boys | Alhassane Keita (Zürich) | | 20 |
| 2006–07 | Zürich (2) | Basel | Sion | Mladen Petrić (Basel) | | 19 |
| 2007–08 | Basel (3) † | Young Boys | Zürich | Hakan Yakin (Young Boys) | | 24 |
| 2008–09 | Zürich (3) | Young Boys | Basel | Seydou Doumbia (Young Boys) | | 20 |
| 2009–10 | Basel (4) † | Young Boys | Grasshopper | Seydou Doumbia (Young Boys) | | 30 |
| 2010–11 | Basel (5) | Zürich | Young Boys | Alexander Frei (Basel) | | 27 |
| 2011–12 | Basel (6) † | Luzern | Young Boys | Alexander Frei (Basel) | | 23 |
| 2012–13 | Basel (7) | Grasshopper | St. Gallen | Ezequiel Scarione (St. Gallen) | | 21 |
| 2013–14 | Basel (8) | Grasshopper | Young Boys | Shkëlzen Gashi (Grasshopper) | | 19 |
| 2014–15 | Basel (9) | Young Boys | Zürich | Shkëlzen Gashi (Basel) | | 22 |
| 2015–16 | Basel (10) | Young Boys | Luzern | Moanes Dabbur (Grasshopper) | | 19 |
| 2016–17 | Basel (11) † | Young Boys | Lugano | Seydou Doumbia (Basel) | | 20 |
| 2017–18 | Young Boys | Basel | Luzern | Albian Ajeti (Basel, St. Gallen) | | 17 |
| 2018–19 | Young Boys (2) | Basel | Lugano | Guillaume Hoarau (Young Boys) | | 24 |
| 2019–20 | Young Boys (3) † | St. Gallen | Basel | Jean-Pierre Nsame (Young Boys) | | 32 |
| 2020–21 | Young Boys (4) | Basel | Servette | Jean-Pierre Nsame (Young Boys) | | 19 |
| 2021–22 | Zürich (4) | Basel | Young Boys | Jordan Pefok (Young Boys) | | 22 |
| 2022–23 | Young Boys (5) † | Servette | Lugano | Jean-Pierre Nsame (Young Boys) | | 21 |
| 2023–24 | Young Boys (6) | Lugano | Servette | Chadrac Akolo (St. Gallen) | | 14 |
| 2023–24 | Young Boys (6) | Lugano | Servette | Kevin Carlos (Yverdon-Sport FC) | | 14 |
| 2023–24 | Young Boys (6) | Lugano | Servette | Žan Celar (Lugano) | | 14 |

## Records
### By club

| Rank | Club | Titles | Winning years |
| 1 | Grasshopper | 27 | (1898), 1900, 1901, 1905, 1921, 1927, 1928, 1931, 1937, 1939, 1942, 1943, 1945, 1952, 1956, 1971, 1978, 1982, 1983, 1984, 1990, 1991, 1995, 1996, 1998, 2001, 2003 |
| 2 | Basel | 20 | 1953, 1967, 1969, 1970, 1972, 1973, 1977, 1980, 2002, 2004, 2005, 2008, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 |
| 3 | Servette | 17 | 1907, 1918, 1922, 1925, 1926, 1930, 1933, 1934, 1940, 1946, 1950, 1961, 1962, 1979, 1985, 1994, 1999 |
| 3 | Young Boys | 17 | 1903, 1909, 1910, 1911, 1920, 1929, 1957, 1958, 1959, 1960, 1986, 2018, 2019, 2020, 2021, 2023, 2024 |
| 5 | Zürich | 13 | 1902, 1924, 1963, 1966, 1968, 1974, 1975, 1976, 1981, 2006, 2007, 2009, 2022 |
| 6 | Lausanne-Sport | 7 | 1913, 1932, 1935, 1936, 1944, 1951, 1965 |
| 7 | Winterthur | 3 | 1906, 1908, 1917 |
| 7 | Lugano | 3 | 1938, 1941, 1949 |
| 7 | La Chaux-de-Fonds | 3 | 1954, 1955, 1964 |
| 7 | Aarau | 3 | 1912, 1914, 1993 |
| 11 | Neuchâtel Xamax | 2 | 1987, 1988 |
| 11 | Sion | 2 | 1992, 1997 |
| 11 | St. Gallen | 2 | 1904, 2000 |
| 14 | Anglo-American Club Zürich | 1 | 1899 |
| 14 | Brühl | 1 | 1915 |
| 14 | Cantonal Neuchâtel | 1 | 1916 |
| 14 | Etoile-Sporting | 1 | 1919 |
| 14 | Biel-Bienne | 1 | 1947 |
| 14 | Bellinzona | 1 | 1948 |
| 14 | Luzern | 1 | 1989 |
* Grasshopper – 27 22 (21.8%)
* Basel – 20 16 (15.8%)
* Servette – 17 14 (13.9%)
* Young Boys – 17 13 (12.9%)
* Zürich – 13 10 (9.90%)
* Lausanne-Sport – 7 6 (5.94%)
* Other clubs – 25 20 (19.8%)

### By canton

| Rank | Canton | Titles | Winning club(s) (titles) |
| 1 | Zürich | 44 | Grasshopper (27), Zürich (13), Winterthur (3), Anglo-American Club (1) |
| 2 | Basel-Stadt | 20 | Basel (20) |
| 3 | Bern | 18 | Young Boys (17), Biel-Bienne (1) |
| 4 | Geneva | 17 | Servette (17) |
| 5 | Vaud | 7 | Lausanne-Sport (7) |
| 5 | Neuchâtel | 7 | La Chaux-de-Fonds (3), Neuchâtel Xamax (2), Cantonal (1), Etoile-Sporting (1) |
| 7 | Ticino | 4 | Lugano (3), Bellinzona (1) |
| 8 | Aargau | 3 | Aarau (3) |
| 8 | St. Gallen | 3 | St. Gallen (2), Brühl (1) |
| 10 | Valais | 2 | Sion (2) |
| 11 | Lucerne | 1 | Luzern (1) |