List of African Cup of Champions Clubs finals (1966–1996) |
Single match format |
Year |
Winner |
Score |
Runner-up |
Venue |
Attendance |
Nation |
Club |
Club |
Nation |
1964–65 |
Cameroon |
Oryx Douala |
2–1 |
Stade Malien |
Mali |
Accra Stadium, Accra |
30,000 |
Year |
Winner |
Score |
Runner-up |
Venue |
Attendance |
Nation |
Club |
Club |
Nation |
1966 |
Ivory Coast |
Stade d'Abidjan |
3–1 |
Real Bamako |
Mali |
Stade Municipal, Bamako |
30,000 |
4–1 |
Stade Félix Houphouët-Boigny, Abidjan |
40,000 |
Stade d'Abidjan won 5–4 on aggregate |
1967 |
Ghana |
Asante Kotoko |
1–1 |
TP Englebert |
Congo-Kinshasa |
Kumasi Sports Stadium, Kumasi |
|
2–2 |
Stade du 20 Mai, Kinshasa |
|
w/o |
Stade Omnisports de Yaoundé, Yaoundé |
|
TP Englebert won after Asante Kotoko failed to appear for the 3rd match |
1968 |
Congo-Kinshasa |
TP Englebert |
5–0 |
Étoile Filante |
Togo |
Stade du 20 Mai, Kinshasa |
|
1–4 |
Stade Général Eyadema, Lomé |
|
TP Englebert won 6–4 on aggregate |
1969 |
Congo-Kinshasa |
TP Englebert |
2–2 |
Ismaily |
United Arab Republic |
Stade du 20 Mai, Kinshasa |
80,000 |
1–3 |
Nasser Stadium, Cairo |
130,000 |
Ismaily won 5–3 on aggregate |
1970 |
Ghana |
Asante Kotoko |
1–1 |
TP Englebert |
Congo-Kinshasa |
Kumasi Sports Stadium, Kumasi |
|
2–1 |
Stade du 20 Mai, Kinshasa |
|
Asante Kotoko won 3–2 on aggregate |
1971 |
Ghana |
Asante Kotoko |
3–0 |
Canon Yaoundé |
Cameroon |
Kumasi Sports Stadium, Kumasi |
|
0–2 |
Stade Militaire Garoua, Yaoundé |
|
0–1 |
Stade Militaire Garoua, Yaoundé |
|
Canon Yaoundé won 1–0 on the 3rd match |
1972 |
Guinea |
Hafia FC |
4–2 |
Simba FC |
Uganda |
Stade du 28 Septembre, Conakry |
|
3–2 |
Nakivubo Stadium, Kampala |
|
Hafia FC won 7–4 on aggregate |
1973 |
Ghana |
Asante Kotoko |
4–2 |
Vita Club |
Zaire |
Kumasi Sports Stadium, Kumasi |
|
0–3 |
Stade du 20 Mai, Kinshasa |
|
Vita Club won 5–4 on aggregate |
1974 |
Congo |
CARA Brazzaville |
4–2 |
Ghazl El Mahalla |
Egypt |
Stade de la Revolution, Brazzaville |
|
2–1 |
El Mahalla Stadium, El-Mahalla El-Kubra |
|
CARA Brazzaville won 6–3 on aggregate |
1975 |
Guinea |
Hafia FC |
1–0 |
Enugu Rangers |
Nigeria |
Stade du 28 Septembre, Conakry |
|
2–1 |
Surulere Stadium, Lagos |
|
Hafia FC won 3–1 on aggregate |
1976 |
Guinea |
Hafia FC |
3–0 |
MC Alger |
Algeria |
Stade du 28 Septembre, Conakry |
30,000 |
0–3 |
Stade 5 Juillet, Algiers |
80,000 |
MC Alger won 3–1 on penalties (3–3 on aggregate) |
1977 |
Ghana |
Hearts of Oak |
0–1 |
Hafia FC |
Guinea |
Accra Sports Stadium, Accra |
|
2–3 |
Stade du 28 Septembre, Conakry |
|
Hafia FC won 4–2 on aggregate |
1978 |
Guinea |
Hafia FC |
0–0 |
Canon Yaoundé |
Cameroon |
Stade du 28 Septembre, Conakry |
|
0–2 |
Stade Omnisport, Yaoundé |
|
Canon Yaoundé won 2–0 on aggregate |
1979 |
Ghana |
Hearts of Oak |
1–0 |
Union Douala |
Cameroon |
Accra Sports Stadium, Accra |
|
0–1 |
Stade Omnisport, Yaoundé |
|
Union Douala won 5–3 on penalties (1–1 on aggregate) |
1980 |
Cameroon |
Canon Yaoundé |
2–2 |
AS Bilima |
Zaire |
Stade de Garoua, Garoua |
|
3–0 |
Stade du 20 Mai, Kinshasa |
|
Canon Yaoundé won 5–2 on aggregate |
1981 |
Algeria |
JE Tizi Ouzou |
4–0 |
Vita Club |
Zaire |
Stade 1er Novembre, Tizi-Ouzou |
20,000 |
1–0 |
Stade du 20 Mai, Kinshasa |
30,000 |
JE Tizi Ouzou won 5–0 on aggregate |
1982 |
Egypt |
Al Ahly |
3–0 |
Asante Kotoko |
Ghana |
Cairo International Stadium, Cairo |
60,000 |
1–1 |
Kumasi Sports Stadium, Kumasi |
50,000 |
Al Ahly won 4–1 on aggregate |
1983 |
Egypt |
Al Ahly |
0–0 |
Asante Kotoko |
Ghana |
Cairo International Stadium, Cairo |
90,000 |
0–1 |
Kumasi Sports Stadium, Kumasi |
50,000 |
Asante Kotoko won 1–0 on aggregate |
1984 |
Egypt |
Zamalek SC |
2–0 |
Shooting Stars |
Nigeria |
Cairo International Stadium, Cairo |
|
1–0 |
Surulere Stadium, Lagos |
|
Zamalek SC won 3–0 on aggregate |
1985 |
Morocco |
FAR Rabat |
5–2 |
AS Bilima |
Zaire |
Moulay Abdellah Stadium, Rabat |
|
1–1 |
Mobutu Stadium, Lubumbashi |
|
FAR Rabat won 6–3 on aggregate |
1986 |
Egypt |
Zamalek SC |
2–0 |
Africa Sports |
Ivory Coast |
Cairo International Stadium, Cairo |
|
0–2 |
Stade Félix Houphouët-Boigny, Abidjan |
|
Zamalek SC won 4–2 on penalties (2–2 on aggregate) |
1987 |
Sudan |
Al-Hilal |
0–0 |
Al Ahly |
Egypt |
Al-Hilal Stadium, Omdurman |
|
0–2 |
Cairo International Stadium, Cairo |
70,000 |
Al Ahly won 2–0 on aggregate |
1988 |
Nigeria |
Iwuanyanwu Nationale |
1–0 |
Entente de Sétif |
Algeria |
Liberty Stadium, Ibadan |
|
0–4 |
Stade du 17 Juin, Constantine |
55,000 |
Entente de Sétif won 4–1 on aggregate |
1989 |
Morocco |
Raja Casablanca |
1–0 |
MC Oran |
Algeria |
Stade Mohamed V, Casablanca |
50,000 |
0–1 |
Stade du 19 Juin, Oran |
45,000 |
Raja Casablanca won 4–2 on penalties (1–1 on aggregate) |
1990 |
Algeria |
JS Kabylie |
1–0 |
Nkana Red Devils |
Zambia |
Stade 5 Juillet, Algiers |
65,000 |
0–1 |
Independence Stadium, Lusaka |
35,000 |
JS Kabylie won 5–3 on penalties (1–1 on aggregate) |
1991 |
Tunisia |
Club Africain |
6–2 |
SC Villa |
Uganda |
Stade El Menzah, Tunis |
40,000 |
1–1 |
Nakivubo Stadium, Kampala |
25,000 |
Club Africain won 7–3 on aggregate |
1992 |
Morocco |
Wydad AC |
2–0 |
Al-Hilal |
Sudan |
Stade Mohamed V, Casablanca |
|
0–0 |
Al-Hilal Stadium, Omdurman |
|
Wydad Casablanca won 2–0 on aggregate |
1993 |
Ghana |
Asante Kotoko |
0–0 |
Zamalek SC |
Egypt |
Kumasi Sports Stadium, Kumasi |
|
0–0 |
Cairo International Stadium, Cairo |
|
Zamalek SC won 7–6 on penalties (0–0 on aggregate) |
1994 |
Egypt |
Zamalek SC |
0–0 |
ES Tunis |
Tunisia |
Cairo International Stadium, Cairo |
90 000 |
1–3 |
Stade El Menzah, Tunis |
50 000 |
ES Tunis won 3–1 on aggregate |
1995 |
South Africa |
Orlando Pirates |
2–2 |
ASEC Mimosas |
Ivory Coast |
FNB Stadium, Johannesburg |
|
1–0 |
Stade Félix Houphouët-Boigny, Abidjan |
|
Orlando Pirates won 3–2 on aggregate |
1996 |
Nigeria |
Shooting Stars |
2–1 |
Zamalek SC |
Egypt |
Lekan Salami Stadium, Ibadan |
30 000 |
1–2 |
Cairo International Stadium, Cairo |
75 000 |
Zamalek SC won 5–4 on penalties (3–3 on aggregate) |
List of CAF Champions League finals (1997–present) |
1997 |
Ghana |
Obuasi Goldfields |
1–0 |
Raja Casablanca |
Morocco |
Len Clay Stadium, Obuasi |
20,000 |
0–1 |
Stade Mohamed V, Casablanca |
85,000 |
Raja Casablanca won 5–4 on penalties (1–1 on aggregate) |
1998 |
Zimbabwe |
Dynamos FC |
0–0 |
ASEC Mimosas |
Ivory Coast |
National Sports Stadium, Harare |
45,000 |
2–4 |
Stade Félix Houphouët-Boigny, Abidjan |
50,000 |
ASEC Mimosas won 4–2 on aggregate |
1999 |
Morocco |
Raja Casablanca |
0–0 |
ES Tunis |
Tunisia |
Stade Père-Jégo, Casablanca |
10,000 |
0–0 |
Stade El Menzah, Tunis |
50,000 |
Raja Casablanca won 4–3 on penalties (0–0 on aggregate) |
2000 |
Tunisia |
ES Tunis |
1–2 |
Hearts of Oak |
Ghana |
Stade El Menzah, Tunis |
30,000 |
1–3 |
Accra Sports Stadium, Accra |
45,000 |
Hearts of Oak won 5–2 on aggregate |
2001 |
South Africa |
Mamelodi Sundowns |
1–1 |
Al Ahly |
Egypt |
Loftus Versfeld Stadium, Pretoria |
5,000 |
0–3 |
Cairo International Stadium, Cairo |
80,000 |
Al Ahly won 4–1 on aggregate |
2002 |
Morocco |
Raja Casablanca |
0–0 |
Zamalek SC |
Egypt |
Stade Mohamed V, Casablanca |
60,000 |
0–1 |
Cairo International Stadium, Cairo |
67,310 |
Zamalek SC won 1–0 on aggregate |
2003 |
Nigeria |
Enyimba |
2–0 |
Ismaily |
Egypt |
Enyimba International Stadium, Aba |
|
0–1 |
Ismailia Stadium, Ismaïlia |
20,000 |
Enyimba won 2–1 on aggregate |
2004 |
Tunisia |
ES Sahel |
2–1 |
Enyimba |
Nigeria |
Stade Olympique de Sousse, Sousse |
28,000 |
1–2 |
Enyimba International Stadium, Aba |
60,000 |
Enyimba won 5–3 on penalties (3–3 on aggregate) |
2005 |
Tunisia |
Étoile du Sahel |
0–0 |
Al Ahly |
Egypt |
Stade Olympique de Sousse, Sousse |
20,000 |
0–3 |
Military Academy Stadium, Cairo |
35,000 |
Al Ahly won 3–0 on aggregate |
2006 |
Egypt |
Al Ahly |
1–1 |
CS Sfaxien |
Tunisia |
Cairo International Stadium, Cairo |
74,000 |
1–0 |
Stade 7 November, Radès |
60,000 |
Al Ahly won 2–1 on aggregate |
2007 |
Tunisia |
ES Sahel |
0–0 |
Al Ahly |
Egypt |
Stade Olympique de Sousse, Sousse |
25,000 |
3–1 |
Cairo International Stadium, Cairo |
74,000 |
ES Sahel won 3–1 on aggregate |
2008 |
Egypt |
Al Ahly |
2–0 |
Coton Sport |
Cameroon |
Cairo International Stadium, Cairo |
|
2–2 |
Roumdé Adjia Stadium, Garoua |
|
Al Ahly won 4–2 on aggregate |
2009 |
Nigeria |
Heartland FC |
2–1 |
TP Mazembe |
DR Congo |
Dan Anyiam Stadium, Owerri |
10,000 |
0–1 |
Stade Frederic Kibassa Maliba, Lubumbashi |
35,000 |
TP Mazembe won on away goals (2–2 on aggregate) |
2010 |
DR Congo |
TP Mazembe |
5–0 |
ES Tunis |
Tunisia |
Stade Frederic Kibassa Maliba, Lubumbashi |
50,000 |
1–1 |
Stade 7 November, Tunis |
65,000 |
TP Mazembe won 6–1 on aggregate |
2011 |
Morocco |
Wydad AC |
0–0 |
ES Tunis |
Tunisia |
Stade Mohamed V, Casablanca |
70,000 |
0–1 |
Stade Olympique de Radès, Tunis |
65,000 |
ES Tunis won 1–0 on aggregate |
2012 |
Egypt |
Al Ahly |
1–1 |
ES Tunis |
Tunisia |
Borg El Arab Stadium, Alexandria |
25,000 |
2–1 |
Stade Olympique de Radès, Tunis |
31,000 |
Al Ahly won 3–2 on aggregate |
2013 |
South Africa |
Orlando Pirates |
1–1 |
Al Ahly |
Egypt |
Orlando Stadium, Soweto |
40,000 |
0–2 |
Osman Ahmed Osman Stadium, Cairo |
20,000 |
Al Ahly won 3–1 on aggregate |
2014 |
DR Congo |
AS Vita Club |
2–2 |
ES Sétif |
Algeria |
Stade Tata Raphaël, Kinshasa |
40,000 |
1–1 |
Stade Mustapha Tchaker, Blida |
35,000 |
ES Sétif won on away goals (3–3 on aggregate) |
2015 |
Algeria |
USM Alger |
1–2 |
TP Mazembe |
DR Congo |
Stade Omar Hamadi, Algiers |
15,000 |
0–2 |
Stade TP Mazembe, Lubumbashi |
18,000 |
TP Mazembe won 4–1 on aggregate |
2016 |
South Africa |
Mamelodi Sundowns |
3–0 |
Zamalek SC |
Egypt |
Lucas Masterpieces Moripe Stadium, Pretoria |
30,000 |
0–1 |
Borg El Arab Stadium, Alexandria |
70,000 |
Mamelodi Sundowns won 3–1 on aggregate |
2017 |
Egypt |
Al Ahly |
1–1 |
Wydad AC |
Morocco |
Borg El Arab Stadium, Alexandria |
60,000 |
0–1 |
Stade Mohamed V, Casablanca |
68,000 |
Wydad Casablanca won 2–1 on aggregate |
2018 |
Egypt |
Al Ahly |
3–1 |
ES Tunis |
Tunisia |
Borg El Arab Stadium, Alexandria |
60,000 |
0–3 |
Stade Olympique de Radès, Tunis |
60,000 |
ES Tunis won 4–3 on aggregate |
2018–19 |
Morocco |
Wydad AC |
1–1 |
ES Tunis |
Tunisia |
Prince Moulay Abdellah Stadium, Rabat |
50,000 |
Abandoned[lower-alpha 1] |
Stade Olympique de Radès, Tunis |
60,000 |
ES Tunis were declared champions after second leg was abandoned |
Single match format |
Year |
Winner |
Score |
Runner-up |
Venue |
Attendance |
Nation |
Club |
Club |
Nation |
2019–20 |
Egypt |
Al Ahly |
2–1 |
Zamalek SC |
Egypt |
Cairo International Stadium, Cairo |
0[lower-alpha 2] |
2020–21 |
Egypt |
Al Ahly |
3–0 |
Kaizer Chiefs |
South Africa |
Stade Mohamed V, Casablanca |
0[lower-alpha 3] |
2021–22 |
Morocco |
Wydad AC |
2–0 |
Al Ahly |
Egypt |
Stade Mohamed V, Casablanca |
45.000 |
Two-legged format |
Season |
Home |
Score |
Away |
Venue |
Attendance |
Nation |
Club |
Club |
Nation |
2022–23 |
Egypt |
Al Ahly |
2–1 |
Wydad AC |
Morocco |
Cairo International Stadium, Cairo |
50.000 |
1–1 |
Stade Mohamed V, Casablanca |
45.000 |
Al Ahly won 3–2 on aggregate |
2023–24 |
Tunisia |
ES Tunis |
0–0 |
Al Ahly |
Egypt |
Hammadi Agrebi Stadium, Tunis |
35,000 |
0–1 |
Cairo International Stadium, Cairo |
52,000 |
Al Ahly won 1–0 on aggregate |