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[ a]
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[ b]
2020–21
Egypt
Al Ahly
3–0
Kaizer Chiefs
South Africa
Stade Mohamed V , Casablanca
0[ c]
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
0–1
Cairo International Stadium , Cairo
Al Ahly won 1–0 on aggregate