List of Moroccan football champions
From Wikipedia, the free encyclopedia
| Founded | 1915 |
|---|---|
| Country | Morocco |
| Confederation | CAF |
| Current champions | RS Berkane (1st title) (2024–25) |
| Most championships | Wydad AC (22 titles) |
| Current: 2025–26 Botola Pro | |
The Moroccan football champions are the annual winners of the primary football competition in Morocco. The league is contested on a round-robin basis, with the title awarded to the team that finishes top at the end of the season.
Wydad AC are the most successful club, with 22 league titles, followed by Raja CA and AS FAR with 13 each. The current champions are RS Berkane, who claimed their first-ever title in the 2024–25 season.[1]
The two lowest-placed teams in Botola Pro are relegated to the Botola Pro 2 and replaced by the top two teams from that division. Only three clubs have never been relegated, Wydad AC, Raja CA and AS FAR.
Under the Rule of the USFSA (1915–1922) - LMFA (1922–1955)
|
After Independence (1956–present).mw-parser-output .defaultleft,.mw-parser-output .col1left td:nth-child(1),.mw-parser-output .col2left td:nth-child(2),.mw-parser-output .col3left td:nth-child(3),.mw-parser-output .col4left td:nth-child(4),.mw-parser-output .col5left td:nth-child(5),.mw-parser-output .col6left td:nth-child(6),.mw-parser-output .col7left td:nth-child(7),.mw-parser-output .col8left td:nth-child(8),.mw-parser-output .col9left td:nth-child(9),.mw-parser-output .col10left td:nth-child(10),.mw-parser-output .col11left td:nth-child(11),.mw-parser-output .col12left td:nth-child(12),.mw-parser-output .col13left td:nth-child(13),.mw-parser-output .col14left td:nth-child(14),.mw-parser-output .col15left td:nth-child(15),.mw-parser-output .col16left td:nth-child(16),.mw-parser-output .col17left td:nth-child(17),.mw-parser-output .col18left td:nth-child(18),.mw-parser-output .col19left td:nth-child(19),.mw-parser-output .col20left td:nth-child(20),.mw-parser-output .col21left td:nth-child(21),.mw-parser-output .col22left td:nth-child(22),.mw-parser-output .col23left td:nth-child(23),.mw-parser-output .col24left td:nth-child(24),.mw-parser-output .col25left td:nth-child(25),.mw-parser-output .col26left td:nth-child(26),.mw-parser-output .col27left td:nth-child(27),.mw-parser-output .col28left td:nth-child(28),.mw-parser-output .col29left td:nth-child(29),.mw-parser-output .col-1left td:nth-last-child(1),.mw-parser-output .col-2left td:nth-last-child(2),.mw-parser-output .col-3left td:nth-last-child(3),.mw-parser-output .col-4left td:nth-last-child(4),.mw-parser-output .col-5left td:nth-last-child(5),.mw-parser-output .col-6left td:nth-last-child(6),.mw-parser-output .col-7left td:nth-last-child(7),.mw-parser-output .col-8left td:nth-last-child(8),.mw-parser-output .col-9left td:nth-last-child(9){text-align:left}.mw-parser-output .defaultcenter,.mw-parser-output .col1center td:nth-child(1),.mw-parser-output .col2center td:nth-child(2),.mw-parser-output .col3center td:nth-child(3),.mw-parser-output .col4center td:nth-child(4),.mw-parser-output .col5center td:nth-child(5),.mw-parser-output .col6center td:nth-child(6),.mw-parser-output .col7center td:nth-child(7),.mw-parser-output .col8center td:nth-child(8),.mw-parser-output .col9center td:nth-child(9),.mw-parser-output .col10center td:nth-child(10),.mw-parser-output .col11center td:nth-child(11),.mw-parser-output .col12center td:nth-child(12),.mw-parser-output .col13center td:nth-child(13),.mw-parser-output .col14center td:nth-child(14),.mw-parser-output .col15center td:nth-child(15),.mw-parser-output .col16center td:nth-child(16),.mw-parser-output .col17center td:nth-child(17),.mw-parser-output .col18center td:nth-child(18),.mw-parser-output .col19center td:nth-child(19),.mw-parser-output .col20center td:nth-child(20),.mw-parser-output .col21center td:nth-child(21),.mw-parser-output .col22center td:nth-child(22),.mw-parser-output .col23center td:nth-child(23),.mw-parser-output .col24center td:nth-child(24),.mw-parser-output .col25center td:nth-child(25),.mw-parser-output .col26center td:nth-child(26),.mw-parser-output .col27center td:nth-child(27),.mw-parser-output .col28center td:nth-child(28),.mw-parser-output .col29center td:nth-child(29),.mw-parser-output .col-1center td:nth-last-child(1),.mw-parser-output .col-2center td:nth-last-child(2),.mw-parser-output .col-3center td:nth-last-child(3),.mw-parser-output .col-4center td:nth-last-child(4),.mw-parser-output .col-5center td:nth-last-child(5),.mw-parser-output .col-6center td:nth-last-child(6),.mw-parser-output .col-7center td:nth-last-child(7),.mw-parser-output .col-8center td:nth-last-child(8),.mw-parser-output .col-9center td:nth-last-child(9){text-align:center}.mw-parser-output .defaultright,.mw-parser-output .col1right td:nth-child(1),.mw-parser-output .col2right td:nth-child(2),.mw-parser-output .col3right td:nth-child(3),.mw-parser-output .col4right td:nth-child(4),.mw-parser-output .col5right td:nth-child(5),.mw-parser-output .col6right td:nth-child(6),.mw-parser-output .col7right td:nth-child(7),.mw-parser-output .col8right td:nth-child(8),.mw-parser-output .col9right td:nth-child(9),.mw-parser-output .col10right td:nth-child(10),.mw-parser-output .col11right td:nth-child(11),.mw-parser-output .col12right td:nth-child(12),.mw-parser-output .col13right td:nth-child(13),.mw-parser-output .col14right td:nth-child(14),.mw-parser-output .col15right td:nth-child(15),.mw-parser-output .col16right td:nth-child(16),.mw-parser-output .col17right td:nth-child(17),.mw-parser-output .col18right td:nth-child(18),.mw-parser-output .col19right td:nth-child(19),.mw-parser-output .col20right td:nth-child(20),.mw-parser-output .col21right td:nth-child(21),.mw-parser-output .col22right td:nth-child(22),.mw-parser-output .col23right td:nth-child(23),.mw-parser-output .col24right td:nth-child(24),.mw-parser-output .col25right td:nth-child(25),.mw-parser-output .col26right td:nth-child(26),.mw-parser-output .col27right td:nth-child(27),.mw-parser-output .col28right td:nth-child(28),.mw-parser-output .col29right td:nth-child(29),.mw-parser-output .col-1right td:nth-last-child(1),.mw-parser-output .col-2right td:nth-last-child(2),.mw-parser-output .col-3right td:nth-last-child(3),.mw-parser-output .col-4right td:nth-last-child(4),.mw-parser-output .col-5right td:nth-last-child(5),.mw-parser-output .col-6right td:nth-last-child(6),.mw-parser-output .col-7right td:nth-last-child(7),.mw-parser-output .col-8right td:nth-last-child(8),.mw-parser-output .col-9right td:nth-last-child(9){text-align:right}
| Champions also won the Throne Cup that season | |
| Champions also won the CAF Champions League that season | |
| Champions also won the CAF Confederation Cup that season |
- The "Top scorer(s)" column refers to the player who scored the most goals during that season
- The "Goals" column refers to the number of goals scored by the top scorer in the league in that season
Total Botola Pro titles won
Clubs in bold are competing in Botola Pro as of the 2025–26 season.Clubs in italic have been dissolved or merged.
| Rank | Club | Winners | Runners-up | Winning seasons | Runners-up seasons |
|---|---|---|---|---|---|
| 1 | Wydad AC |
22 |
17 |
1947–48, 1948–49, 1949–50, 1950–51, 1954–55, 1956–57, 1965–66, 1968–69, 1975–76, 1976–77, 1977–78, 1985–86, 1989–90, 1990–91, 1992–93, 2005–06, 2009–10, 2014–15, 2016–17, 2018–19, 2020–21, 2021–22 | 1939–40, 1942–43, 1945–46, 1951–52, 1957–58, 1958–59, 1971–72, 1979–80, 1981–82, 93–1994, 1996–97, 1999–00, 2001–02, 2015–16, 2017–18, 2019–20, 2022–23 |
| 2 | Raja CA |
13 |
12 |
1987–88, 1995–96, 1996–97, 1997–98, 1998–99, 1999–00, 2000–01, 2003–04, 2008–09, 2010–11, 2012–13, 2019–20, 2023–24 | 1965–66, 1973–74, 1985–86, 1991–92, 1992–93, 2002–03, 2004–05, 2009–10, 2013–14, 2018–19, 2020–21, 2021–22 |
| AS FAR |
13 |
9 |
1960–61, 1961–62, 1962–63, 1963–64, 1966–67, 1967–68, 1969–70, 1983–84, 1986–87, 1988–89, 2004–05, 2007–08, 2022–23 | 1959–60, 1970–71, 1990–91, 2003–04, 2005–06, 2006–07, 2012–13, 2023–24, 2024–25 | |
| 4 | Maghreb Fez | 4 |
6 |
1964–65, 1978–79, 1982–83, 1984–85 | 1960–61, 1968–69, 1974–75, 1977–78, 1988–89, 2010–11 |
| Kénitra AC | 4 |
2 |
1959–60, 1972–73, 1980–81, 1981–82 | 1978–79, 1984–85 | |
| 6 | Racing Casablanca | 3 |
2 |
1944–45, 1953–54, 1971–72 | 1961–62, 1964–65 |
| Stade Marocain | 3 |
1 |
1927–28, 1930–31, 1943–44 | 1963–64 | |
| 8 | KAC Marrakech | 2 |
6 |
1957–58, 1991–92 | 1956–57, 1962–63, 1986–87, 1987–88, 1997–98, 1998–99 |
| Hassania Agadir | 2 |
— |
2001–02, 2002–03 | — | |
| MA Tétouan | 2 |
— |
2011–12, 2013–14 | — | |
| 11 | Fath Union Sport | 1 |
4 |
2015–16 | 1972–73, 1980–81, 2000–01, 2011–12 |
| Olympique Khouribga | 1 |
3 |
2006–07 | 1983–84, 1995–96, 2014–15 | |
| RS Settat | 1 |
2 |
1970–71 | 1966–67, 1967–68 | |
| Racing Casablanca | 1 |
2 |
1971–72 | 1961–62, 1964–65 | |
| MC Oujda | 1 |
1 |
1974–75 | 1976–77 | |
| Olympique Casablanca | 1 |
1 |
1993–94 | 1994–95 | |
| IR Tangier | 1 |
1 |
2017–18 | 1989–90 | |
| RS Berkane | 1 |
1 |
2024–25 | 1982–83 | |
| Étoile Casablanca | 1 |
— |
1958–59 | — | |
| Raja Beni Mellal | 1 |
— |
1973–74 | — | |
| SCC Mohammédia | 1 |
— |
1979–80 | — | |
| COD Meknès | 1 |
— |
1994–95 | — |
By city
| City | Championships | Clubs |
|---|---|---|
| Casablanca | 40 | Wydad AC (22) Raja CA (13) Racing Casablanca (3) Olympique Casablanca (1) Étoile Casablanca (1) |
| Rabat | 17 | AS FAR (13) Stade Marocain (3) Fath Union Sport (1) |
| Fez | 4 | Maghreb Fez (4) |
| Kenitra | 4 | Kénitra AC (4) |
| Marrakesh | 2 | KAC Marrakech (2) |
| Agadir | 2 | Hassania Agadir (2) |
| Tétouan | 2 | MA Tétouan (2) |
| Khouribga | 1 | Olympique Khouribga (1) |
| Oujda | 1 | MC Oujda (1) |
| Settat | 1 | RS Settat (1) |
| Beni Mellal | 1 | Raja Beni Mellal (1) |
| Mohammedia | 1 | SCC Mohammédia (1) |
| Meknes | 1 | COD Meknès (1) |
| Tangier | 1 | IR Tangier (1) |
| Berkane | 1 | RS Berkane (1) |
By region
| Region | Championships | Clubs |
|---|---|---|
| Casablanca-Settat | 42 | Wydad AC (22) Raja CA (13) Racing Casablanca (3) Olympique Casablanca (1) Étoile Casablanca (1) RS Settat (1) SCC Mohammédia (1) |
| Rabat-Salé-Kénitra | 21 | AS FAR (13) Kénitra AC (4) Stade Marocain (3) Fath Union Sport (1) |
| Fez-Meknes | 5 | Maghreb of Fez (4) COD Meknès (1) |
| Tangier-Tetouan-Al Hoceima | 3 | MA Tétouan (2) IR Tangier (1) |
| Marrakesh-Safi | 2 | KAC Marrakech (2) |
| Souss-Massa | 2 | Hassania Agadir (2) |
| Béni Mellal-Khénifra | 2 | Olympique Khouribga (1) Raja Beni Mellal (1) |
| Oriental | 2 | MC Oujda (1) RS Berkane (1) |