# 2020–21 CAF Champions League

The 2020–21 CAF Champions League (officially the 2020–21 Total CAF Champions League for sponsorship reasons) was the 57th edition of Africa's premier club football tournament organized by the Confederation of African Football (CAF), and the 25th edition under the current CAF Champions League title.
Al Ahly successfully defended their title and defeated Kaizer Chiefs 3–0 in the final, which was played at Stade Mohammed V in Casablanca, Morocco, winning their record-extending tenth and second consecutive title.
As the winners of the 2020–21 CAF Champions League, Al Ahly represented Africa in both the 2021 and 2025 FIFA Club World Cups, and played against Raja Casablanca, the winners of the 2020–21 CAF Confederation Cup, in the 2021–22 CAF Super Cup.

## Association team allocation

All 56 CAF member associations may enter the CAF Champions League, with the 12 highest ranked associations according to their CAF 5-year ranking eligible to enter two teams in the competition. As a result, theoretically a maximum of 68 teams could enter the tournament – although this level has never been reached.
For the 2020–21 CAF Champions League, the CAF uses the 2016–2020 CAF 5-year ranking, which calculates points for each entrant association based on their clubs’ performance over those 5 years in the CAF Champions League and CAF Confederation Cup. The criteria for points are the following:
| | CAF Champions League | CAF Confederation Cup |
| Winners | 6 points | 5 points |
| Runners-up | 5 points | 4 points |
| Losing semi-finalists | 4 points | 3 points |
| Losing quarter-finalists (from 2017) | 3 points | 2 points |
| 3rd place in groups | 2 points | 1 point |
| 4th place in groups | 1 point | 0.5 point |
The points are multiplied by a coefficient according to the year as follows:
* 2019–20: × 5
* 2018–19: × 4
* 2018: × 3
* 2017: × 2
* 2016: × 1

## Teams

Due to the COVID-19 pandemic, associations may abandon their domestic competitions and select the representatives in CAF club competitions. Associations may register their representatives during the engagement window between 1 September and 20 October 2020. All engaged teams must respect the Club Licensing procedure and cooperate with their respective Associations, as non-licensed clubs would be refused participation.
The following 54 teams from 42 associations entered the competition.
* Teams in bold received a bye to the first round.
* The other teams entered the preliminary round.
Associations are shown according to their 2016–2020 CAF 5-year ranking – those with a ranking score have their rank and score (in parentheses) indicated.
Associations eligible to enter two teams (Top 12 associations) :
| Association | Rank (Pts) | Team | Qualifying method |
| Morocco | 1 (190) | Raja Casablanca | 2019–20 Botola champions |
| Morocco | 1 (190) | Wydad AC | 2019–20 Botola runners-up |
| Egypt | 2 (167) | Al Ahly | Title holders (2019–20 CAF Champions League winners) 2019–20 Egyptian Premier League champions |
| Egypt | 2 (167) | Zamalek | 2019–20 Egyptian Premier League runners-up |
| Tunisia | 3 (140) | Espérance de Tunis | 2019–20 Tunisian Ligue Professionnelle 1 champions |
| Tunisia | 3 (140) | CS Sfaxien | 2019–20 Tunisian Ligue Professionnelle 1 runners-up |
| DR Congo | 4 (83) | TP Mazembe | 2019–20 Linafoot champions |
| DR Congo | 4 (83) | AS Vita Club | 2019–20 Linafoot runners-up |
| Algeria | 5 (81) | CR Belouizdad | 2019–20 Algerian Ligue Professionnelle 1 champions |
| Algeria | 5 (81) | MC Alger | 2019–20 Algerian Ligue Professionnelle 1 runners-up |
| South Africa | 6 (68.5) | Mamelodi Sundowns | 2019–20 South African Premier Division champions |
| South Africa | 6 (68.5) | Kaizer Chiefs | 2019–20 South African Premier Division runners-up |
| Zambia | 7 (43) | Nkana | 2019–20 Zambian Super League champions |
| Zambia | 7 (43) | Forest Rangers | 2019–20 Zambian Super League runners-up |
| Nigeria | 8 (39) | Plateau United | 2019–20 Nigeria Professional Football League first place at time of abandonment |
| Nigeria | 8 (39) | Enyimba | 2019–20 Nigeria Professional Football League second place at time of abandonment |
| Guinea | 9 (38) | Horoya | 2019–20 Guinée Championnat National first place after 13 rounds |
| Guinea | 9 (38) | Ashanti de Siguiri | 2019–20 Guinée Championnat National second place after 13 rounds |
| Angola | 10 (36) | Petro de Luanda | 2019–20 Girabola first place at time of abandonment |
| Angola | 10 (36) | 1º de Agosto | 2019–20 Girabola second place at time of abandonment |
| Sudan | 11 (29.5) | Al Merrikh | 2019–20 Sudan Premier League champions |
| Sudan | 11 (29.5) | Al Hilal | 2019–20 Sudan Premier League runners-up |
| Libya | 12 (16.5) | Al Nasr | 2017–18 Libyan Premier League champions |
| Libya | 12 (16.5) | Al Ahly Benghazi | 2017–18 Libyan Premier League runners-up |
Associations eligible to enter one team :
| Association | Rank (Pts) | Team | Qualifying method |
| Tanzania | 13 (14) | Simba | 2019–20 Tanzanian Premier League champions |
| Ivory Coast | 14 (13) | RC Abidjan | 2019–20 Côte d'Ivoire Ligue 1 champions |
| Kenya | 15 (11) | Gor Mahia | 2019–20 Kenyan Premier League champions |
| Zimbabwe | 15 (11) | FC Platinum | 2019 Zimbabwe Premier Soccer League champions |
| Mozambique | 17 (9) | Costa do Sol | 2019 Moçambola champions |
| Congo | 18 (8) | AS Otohô | 2019–20 Congo Ligue 1 champions |
| Uganda | 18 (8) | Vipers | 2019–20 Uganda Premier League champions |
| Ghana | 20 (6.5) | Asante Kotoko | 2019 GFA Normalization Committee Special Competition Tier 1 winners |
| Mali | 20 (6.5) | Stade Malien | 2019–20 Malian Première Division champions |
| Rwanda | 22 (6) | APR | 2019–20 Rwanda Premier League champions |
| Eswatini | 23 (5) | Young Buffaloes | 2019–20 Eswatini Premier League champions |
| Ethiopia | 24 (4) | Mekelle 70 Enderta | 2018–19 Ethiopian Premier League champions |
| Botswana | 25 (3) | Jwaneng Galaxy | 2019–20 Botswana Premier League champions |
| Togo | 25 (3) | ASKO Kara | 2019–20 Togolese Championnat National champions |
| Benin | 27 (2.5) | Buffles du Borgou | 2018–19 Benin Premier League champions |
| Mauritania | 27 (2.5) | FC Nouadhibou | 2019–20 Ligue 1 Mauritania champions |
| Burkina Faso | 29 (2) | Rahimo | 2018–19 Burkinabé Premier League champions |
| Cameroon | 29 (2) | PWD Bamenda | 2019–20 Elite One champions |
| Gabon | 31 (1) | AS Bouenguidi | 2019–20 Gabon Championnat National D1 Group A first place at time of abandonment |
| Burundi | — | Le Messager Ngozi | 2019–20 Burundi Premier League champions |
| Chad | — | Gazelle | 2020 Chad Premier League champions |
| Comoros | — | US Zilimadjou | 2020 Comoros Premier League champions |
| Djibouti | — | GR/SIAF | 2019–20 Djibouti Premier League champions |
| Equatorial Guinea | — | Akonangui | 2019–20 Equatoguinean Primera División Región Continental first place at time of abandonment |
| Gambia | — | Gambia Armed Forces | 2019–20 GFA League First Division second place at time of abandonment |
| Lesotho | — | Bantu | 2019–20 Lesotho Premier League champions |
| Niger | — | AS SONIDEP | 2018–19 Niger Premier League champions |
| Senegal | — | Teungueth | 2019–20 Senegal Premier League first place at time of abandonment |
| Somalia | — | Mogadishu City | 2019–20 Somali First Division champions |
| Zanzibar | — | Mlandege | 2019–20 Zanzibar Premier League champions |

### Associations which did not enter a team

* Cape Verde
* Central African Republic
* Eritrea
* Guinea-Bissau
* Liberia
* Madagascar
* Malawi
* Mauritius
* Namibia
* Réunion
* São Tomé and Príncipe
* Seychelles
* Sierra Leone
* South Sudan

### Notes

* ^ Algeria (ALG): The 2019–20 Algerian Ligue Professionnelle 1 was abandoned by the Algerian Football Federation due to the COVID-19 pandemic in Algeria. CR Belouizdad, who were at first place at the time of abandonment (table considered final) and declared champions, and MC Alger, who were at second place (by points per game), will represent Algeria in the 2020–21 CAF Champions League.
* ^ Angola (ANG): The 2019–20 Girabola was abandoned (season cancelled, title not awarded) by the Angolan Football Federation due to the COVID-19 pandemic in Angola. Petro de Luanda and 1º de Agosto, who were at first and second place at the time of abandonment, will represent Angola in the 2020–21 CAF Champions League.
* ^ Benin (BEN): The 2019–20 Benin Premier League was abandoned (season cancelled, title not awarded) by the Benin Football Federation due to the COVID-19 pandemic in Benin. Buffles du Borgou, who were the 2018–19 Benin Premier League champions, will represent Benin in the 2020–21 CAF Champions League.
* ^ Botswana (BOT): The 2019–20 Botswana Premier League was abandoned by the Botswana Football Association due to the COVID-19 pandemic in Botswana. Jwaneng Galaxy, who were at first place at the time of abandonment (table considered final) and declared champions, will represent Botswana in the 2020–21 CAF Champions League.
* ^ Burkina Faso (BFA): The 2019–20 Burkinabé Premier League was abandoned (season cancelled, title not awarded) by the Burkinabé Football Federation due to the COVID-19 pandemic in Burkina Faso. Rahimo, who were the 2018–19 Burkinabé Premier League champions, will represent Burkina Faso in the 2020–21 CAF Champions League.
* ^ Cameroon (CMR): The 2019–20 Elite One was abandoned by the Cameroonian Football Federation due to the COVID-19 pandemic in Cameroon. PWD Bamenda, who were at first place at the time of abandonment (table considered final) and declared champions, will represent Cameroon in the 2020–21 CAF Champions League.
* ^ Cape Verde (CPV): The 2020 Cape Verdean Football Championships was abandoned (season cancelled, title not awarded) by the Cape Verdean Football Federation due to the COVID-19 pandemic in Cape Verde. No team will represent Cape Verde in the 2020–21 CAF Champions League.
* ^ Central African Republic (CTA): The 2019–20 Central African Republic League was abandoned (season cancelled, title not awarded) by the Central African Football Federation due to the COVID-19 pandemic in the Central African Republic. No team will represent the Central African Republic in the 2020–21 CAF Champions League.
* ^ Congo (CGO): The 2019–20 Congo Ligue 1 was abandoned by the Congolese Football Federation due to the COVID-19 pandemic in Congo. AS Otohô, who were at first place at the time of abandonment (table considered final) and declared champions (they were already assured of the title by then), will represent Congo in the 2020–21 CAF Champions League.
* ^ DR Congo (COD): The 2019–20 Linafoot was abandoned by the Congolese Association Football Federation due to the COVID-19 pandemic in DR Congo. TP Mazembe, who were at first place at the time of abandonment (table considered final) and declared champions, and AS Vita Club, who were at second place, will represent DR Congo in the 2020–21 CAF Champions League.
* ^ Equatorial Guinea (EQG): The 2019–20 Equatoguinean Primera División was abandoned (season cancelled, title not awarded) by the Equatoguinean Football Federation due to the COVID-19 pandemic in Equatorial Guinea. Akonangui, who were at Región Continental first place (better ranked first place between two regions) at the time of abandonment, will represent Equatorial Guinea in the 2020–21 CAF Champions League.
* ^ Eswatini (SWZ): The 2019–20 Eswatini Premier League was abandoned by the Eswatini Football Association due to the COVID-19 pandemic in Eswatini. Young Buffaloes, who were at first place at the time of abandonment (table considered final) and declared champions, will represent Eswatini in the 2020–21 CAF Champions League.
* ^ Ethiopia (ETH): The 2019–20 Ethiopian Premier League was abandoned (season cancelled, title not awarded) by the Ethiopian Football Federation due to the COVID-19 pandemic in Ethiopia. Mekelle 70 Enderta, who were the 2018–19 Ethiopian Premier League champions, will represent Ethiopia in the 2020–21 CAF Champions League.
* ^ Gabon (GAB): The 2019–20 Gabon Championnat National D1 was abandoned (season cancelled, title not awarded) by the Gabonese Football Federation due to the COVID-19 pandemic in Gabon. AS Bouenguidi, who were at Group A first place (better ranked first place between two groups) at the time of abandonment, will represent Gabon in the 2020–21 CAF Champions League.
* ^ Gambia (GAM): The 2019–20 GFA League First Division was abandoned (season cancelled, title not awarded) by the Gambia Football Federation due to the COVID-19 pandemic in the Gambia. Gambia Armed Forces, who were at second place at the time of abandonment, will represent Gambia in the 2020–21 CAF Champions League, since Real de Banjul, who were at first place at the time of abandonment, declined to enter.
* ^ Ghana (GHA): The 2019–20 Ghana Premier League was abandoned (season cancelled, title not awarded) by the Ghana Football Association due to the COVID-19 pandemic in Ghana. Asante Kotoko, who were the 2019 GFA Normalization Committee Special Competition Tier 1 winners, will represent Ghana in the 2020–21 CAF Champions League.
* ^ Guinea (GUI): The 2019–20 Guinée Championnat National was abandoned (season cancelled, title not awarded) by the Guinean Football Federation due to the COVID-19 pandemic in Guinea. Horoya and Ashanti de Siguiri, who were at first and second place after 13 rounds (last completed round at the time of abandonment), will represent Guinea in the 2020–21 CAF Champions League.
* ^ Ivory Coast (CIV): The 2019–20 Côte d'Ivoire Ligue 1 was abandoned by the Ivorian Football Federation due to the COVID-19 pandemic in Ivory Coast. Racing Club Abidjan, who were at first place at the time of abandonment (table considered final) and declared champions, will represent Ivory Coast in the 2020–21 CAF Champions League.
* ^ Kenya (KEN): The 2019–20 Kenyan Premier League was abandoned by the Football Kenya Federation due to the COVID-19 pandemic in Kenya. Gor Mahia, who were at first place at the time of abandonment (table considered final) and declared champions, will represent Kenya in the 2020–21 CAF Champions League.
* ^ Lesotho (LES): The 2019–20 Lesotho Premier League was abandoned by the Lesotho Football Association due to the COVID-19 pandemic in Lesotho. Bantu, who were at first place at the time of abandonment (table considered final) and declared champions, will represent Lesotho in the 2020–21 CAF Champions League.
* ^ Liberia (LBR): The 2019–20 Liberian First Division League was abandoned (season cancelled, title not awarded) by the Liberia Football Association due to the COVID-19 pandemic in Liberia. No team will represent Liberia in the 2020–21 CAF Champions League.
* ^ Libya (LBY): Al Nasr, the 2017–18 Libyan Premier League champions, and Al Ahly Benghazi, the runners-up, will represent Libya in the 2020–21 CAF Champions League, since the Libyan Premier League and Libyan Cup had been suspended by the Libyan Football Federation for two consecutive years due to the Libyan Civil War.
* ^ Madagascar (MAD): The 2019–20 Malagasy Pro League was abandoned (season cancelled, title not awarded) by the Malagasy Football Federation due to the COVID-19 pandemic in Madagascar. No team will represent Madagascar in the 2020–21 CAF Champions League, since Fosa Juniors, who were the 2019 THB Champions League champions, declined to enter.
* ^ Malawi (MWI): No team will represent Malawi in the 2020–21 CAF Champions League, since Nyasa Big Bullets, who were the 2019 Super League of Malawi champions, declined to enter.
* ^ Mauritius (MRI): The 2019–20 Mauritian Premier League was abandoned (season cancelled, title not awarded) by the Mauritius Football Association due to the COVID-19 pandemic in Mauritius. No team will represent Mauritius in the 2020–21 CAF Champions League.
* ^ Niger (NIG): The 2019–20 Niger Premier League was abandoned (season cancelled, title not awarded) by the Nigerien Football Federation due to the COVID-19 pandemic in Niger. AS SONIDEP, who were the 2018–19 Niger Premier League champions, will represent Niger in the 2020–21 CAF Champions League.
* ^ Nigeria (NGA): The 2019–20 Nigeria Professional Football League was abandoned (season cancelled, title not awarded) by the Nigeria Football Federation due to the COVID-19 pandemic in Nigeria. Plateau United and Enyimba, who were at first and second place (by points per game) at the time of abandonment, will represent Nigeria in the 2020–21 CAF Champions League.
* ^ Rwanda (RWA): The 2019–20 Rwanda Premier League was abandoned by the Rwanda Football Federation due to the COVID-19 pandemic in Rwanda. APR, who were at first place after 23 rounds (last completed round at the time of abandonment, table considered final) and declared champions, will represent Rwanda in the 2020–21 CAF Champions League.
* ^ Senegal (SEN): The 2019–20 Senegal Premier League was abandoned (season cancelled, title not awarded) by the Senegalese Football Federation due to the COVID-19 pandemic in Senegal. Tengueth, who were at first place at the time of abandonment, will represent Senegal in the 2020–21 CAF Champions League.
* ^ Sierra Leone (SLE): The 2019–20 Sierra Leone National Premier League was abandoned (season cancelled, title not awarded) by the Sierra Leone Football Association due to the COVID-19 pandemic in Sierra Leone. No team will represent Sierra Leone in the 2020–21 CAF Champions League.
* ^ South Sudan (SSD): The 2020 South Sudan Football Championship was abandoned (season cancelled, title not awarded) by the South Sudan Football Association due to the COVID-19 pandemic in South Sudan. No team will represent South Sudan in the 2020–21 CAF Champions League.
* ^ Togo (TOG): The 2019–20 Togolese Championnat National was abandoned by the Togolese Football Federation due to the COVID-19 pandemic in Togo. ASKO Kara, who were at first place at the time of abandonment (table considered final) and declared champions, will represent Togo in the 2020–21 CAF Champions League.
* ^ Uganda (UGA): The 2019–20 Uganda Premier League was abandoned by the Federation of Uganda Football Associations due to the COVID-19 pandemic in Uganda. Vipers, who were at first place at the time of abandonment (table considered final) and declared champions, will represent Uganda in the 2020–21 CAF Champions League.

## Schedule

The start of the competition was delayed due to the COVID-19 pandemic. On 1 September 2020, the CAF announced the new schedule. On 10 September 2020, the CAF decided to further delay the preliminary round, originally scheduled for 20–22 November (first legs) and 28–29 November (second legs), and the first round, originally scheduled for 11–13 December (first legs) and 18–20 December (second legs).
Schedule for 2020–21 CAF Champions League :
| Phase | Round | Draw date | First leg | Second leg |
| Qualifying | Preliminary round | 9 November 2020 | 28–29 November 2020 | 4–5 December 2020 |
| Qualifying | First round | 9 November 2020 | 22–23 December 2020 | 5–6 January 2021 |
| Group stage | Matchday 1 | 8 January 2021 | 12–13 February 2021 | 12–13 February 2021 |
| Group stage | Matchday 2 | 8 January 2021 | 23–24 February 2021 | 23–24 February 2021 |
| Group stage | Matchday 3 | 8 January 2021 | 5–6 March 2021 | 5–6 March 2021 |
| Group stage | Matchday 4 | 8 January 2021 | 16–17 March 2021 | 16–17 March 2021 |
| Group stage | Matchday 5 | 8 January 2021 | 2–3 April 2021 | 2–3 April 2021 |
| Group stage | Matchday 6 | 8 January 2021 | 9–10 April 2021 | 9–10 April 2021 |
| Knockout stage | Quarter-finals | 30 April 2021 | 14–15 May 2021 | 21–22 May 2021 |
| Knockout stage | Semi-finals | 30 April 2021 | 18–19 June 2021 | 25–26 June 2021 |
| Knockout stage | Final | 30 April 2021 | 17 July 2021 | 17 July 2021 |
The original schedule of the competition, as planned before the pandemic, was as follows.
Original schedule for 2020–21 CAF Champions League :
| Phase | Round | Draw date | First leg | Second leg |
| Qualifying | Preliminary round | TBD 2020 | 7–9 August 2020 | 21–23 August 2020 |
| Qualifying | First round | TBD 2020 | 11–13 September 2020 | 25–27 September 2020 |
| Group stage | Matchday 1 | 7 October 2020 | 27–29 November 2020 | 27–29 November 2020 |
| Group stage | Matchday 2 | 7 October 2020 | 4–6 December 2020 | 4–6 December 2020 |
| Group stage | Matchday 3 | 7 October 2020 | 8–10 January 2021 | 8–10 January 2021 |
| Group stage | Matchday 4 | 7 October 2020 | 22–24 January 2021 | 22–24 January 2021 |
| Group stage | Matchday 5 | 7 October 2020 | 5–7 February 2021 | 5–7 February 2021 |
| Group stage | Matchday 6 | 7 October 2020 | 12–14 February 2021 | 12–14 February 2021 |
| Knockout stage | Quarter-finals | 17 February 2021 | 5–7 March 2021 | 19–21 March 2021 |
| Knockout stage | Semi-finals | 17 February 2021 | 9–11 April 2021 | 23–25 April 2021 |
| Knockout stage | Final | 17 February 2021 | 28 May 2021 | 28 May 2021 |

## Qualifying rounds

The draw for the qualifying rounds was held on 9 November 2020 at the CAF headquarters in Cairo, Egypt.
In the qualifying rounds, each tie was played on a home-and-away two-legged basis. If the aggregate score was tied after the second leg, the away goals rule would be applied, and if still tied, extra time would not be played, and the penalty shoot-out would be used to determine the winner (Regulations III. 13 & 14).

### Preliminary round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Ashanti de Siguiri | 1–4 | Stade Malien | 1–2 | 0–2 (awd.) |
| Gambia Armed Forces | 1–3 | Teungueth | 1–1 | 0–2 |
| RC Abidjan | 2–2 (a) | ASKO Kara | 1–0 | 1–2 |
| AS SONIDEP | 4–0 | Mogadishu City | 2–0 | 2–0 |
| Al Ahly Benghazi | w/o | Mekelle 70 Enderta | — | — |
| Gazelle | w/o | GR/SIAF | — | — |
| Forest Rangers | 0–2 | AS Bouenguidi | 0–0 | 0–2 |
| Jwaneng Galaxy | 5–1 | US Zilimadjou | 4–0 | 1–1 |
| Young Buffaloes | 1–1 (a) | Le Messager Ngozi | 0–0 | 1–1 |
| PWD Bamenda | 0–1 | Kaizer Chiefs | 0–1 | 0–0 |
| AS Otohô | 1–3 | Al Merrikh | 1–1 | 0–2 |
| Rahimo | 1–2 | Enyimba | 0–1 | 1–1 |
| FC Nouadhibou | 1–3 | Asante Kotoko | 1–1 | 0–2 (awd.) |
| Vipers | 0–2 | Al Hilal | 0–1 | 0–1 |
| Buffles du Borgou | 2–6 | MC Alger | 1–1 | 1–5 |
| Mlandege | 1–8 | CS Sfaxien | 0–5 | 1–3 |
| Bantu | 0–1 | Nkana | 0–1 | 0–0 |
| Akonangui | 2–3 | Petro de Luanda | 0–1 | 2–2 |
| Costa do Sol | 1–4 | FC Platinum | 1–2 | 0–2 |
| Plateau United | 0–1 | Simba | 0–1 | 0–0 |
| CR Belouizdad | 4–0 | Al Nasr | 2–0 | 2–0 |
| APR | 3–4 | Gor Mahia | 2–1 | 1–3 |
Notes:
* ↑ The preliminary round second leg match between Ashanti de Siguiri and Stade Malien could not be played after 4 of the 17 players from Ashanti de Siguiri tested positive for COVID-19. Thus, Ashanti de Siguiri were not able to name the required 15 players for holding the match, and subsequently, Stade Malien were awarded a technical 2–0 victory for the second leg by CAF in accordance with the regulations related to COVID-19.
* ↑ Al Ahly Benghazi won on walkover after Mekelle 70 Enderta were not able to present themselves with 15 players (including 1 goalkeeper) for the first leg in Cairo citing the Tigray conflict.
* ↑ Gazelle won on walkover after GR/SIAF failed to appear for the first leg in N'Djamena.
* ↑ The preliminary round second leg match between FC Nouadhibou and Asante Kotoko could not be played after 2 of the 16 players from FC Nouadhibou tested positive for COVID-19. Thus, FC Nouadhibou were not able to name the required 15 players for holding the match, and subsequently, Asante Kotoko were awarded a technical 2–0 victory for the second leg by CAF in accordance with the regulations related to COVID-19.

### First round

The 16 winners of the first round advanced to the group stage, while the 16 losers of the first round entered the Confederation Cup play-off round.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Stade Malien | 1–3 | Wydad AC | 1–0 | 0–3 |
| Teungueth | 0–0 (3–1 p) | Raja Casablanca | 0–0 | 0–0 |
| RC Abidjan | 1–2 | Horoya | 1–1 | 0–1 |
| AS SONIDEP | 0–5 | Al Ahly | 0–1 | 0–4 |
| Al Ahly Benghazi | 2–3 | Espérance de Tunis | 0–0 | 2–3 |
| Gazelle | w/o | Zamalek | — | — |
| AS Bouenguidi | 2–4 | TP Mazembe | 1–2 | 1–2 |
| Jwaneng Galaxy | 1–5 | Mamelodi Sundowns | 0–2 | 1–3 |
| Young Buffaloes | 3–6 | AS Vita Club | 2–2 | 1–4 |
| Kaizer Chiefs | 1–0 | 1º de Agosto | 0–0 | 1–0 |
| Al Merrikh | 4–2 | Enyimba | 3–0 | 1–2 |
| Asante Kotoko | 0–3 | Al Hilal | 0–1 | 0–2 (awd.) |
| MC Alger | 2–1 | CS Sfaxien | 2–0 | 0–1 |
| Nkana | 1–2 | Petro de Luanda | 1–1 | 0–1 |
| FC Platinum | 1–4 | Simba | 1–0 | 0–4 |
| CR Belouizdad | 8–1 | Gor Mahia | 6–0 | 2–1 |
Notes:
* ↑ Gazelle failed to appear for the first leg in Cairo following disputes between the Ministry of Youth and Sports in the country and the Chadian Football Federation, which prevented the club from traveling to Egypt. As a result, Gazelle were disqualified from the competition by CAF, and Zamalek won on walkover.
* ↑ The first round second leg match between Asante Kotoko and Al Hilal could not be played after 7 players from Asante Kotoko tested positive for COVID-19. Thus, Asante Kotoko were not able to name the required 15 players for holding the match, and subsequently, Al Hilal were awarded a technical 2–0 victory for the second leg by CAF in accordance with the regulations related to COVID-19.

## Group stage

The draw for the group stage was held on 8 January 2021, 12:30 GMT (14:30 local time, UTC+2), at the CAF headquarters in Cairo, Egypt. The 16 teams, all winners of the first round of qualifying, were drawn into four groups of four.
The teams were seeded by their performances in the CAF competitions for the previous five seasons (CAF 5-year ranking points shown in parentheses). Each group contained one team from each of Pot 1, Pot 2, Pot 3, and Pot 4, and each team was allocated to the positions in their group according to their pot.
| Pot | Pot 1 | Pot 2 | Pot 3 | Pot 4 |
| Teams | Al Ahly (69 pts) Wydad AC (65 pts) Espérance de Tunis (63 pts) TP Mazembe (55 pts) | Zamalek (54 pts) Mamelodi Sundowns (49 pts) Horoya (38 pts) AS Vita Club (23 pts) | Al Hilal (21.5 pts) Petro de Luanda (12 pts) Simba (12 pts) MC Alger (7 pts) | Al Merrikh (4 pts) CR Belouizdad Teungueth Kaizer Chiefs |
In each group, teams play against each other home-and-away in a round-robin format. The winners and runners-up of each group will advance to the quarter-finals of the knockout stage.
* Tiebreakers
* Teams are ranked according to points (3 points for a win, 1 point for a draw, 0 points for a loss). If tied on points, tiebreakers are applied in the following order (Regulations III. 20 & 21):
* Points in head-to-head matches among tied teams;
* Goal difference in head-to-head matches among tied teams;
* Goals scored in head-to-head matches among tied teams;
* Away goals scored in head-to-head matches among tied teams;
* If more than two teams are tied, and after applying all head-to-head criteria above, a subset of teams are still tied, all head-to-head criteria above are reapplied exclusively to this subset of teams;
* Goal difference in all group matches;
* Goals scored in all group matches;
* Away goals scored in all group matches;
* Drawing of lots.

### Group A

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | SIM | AHL | VIT | MER |
| 1 | Simba | 6 | 4 | 1 | 1 | 9 | 2 | +7 | 13 | Advance to knockout stage | — | 1–0 | 4–1 | 3–0 |
| 2 | Al Ahly | 6 | 3 | 2 | 1 | 11 | 5 | +6 | 11 | Advance to knockout stage | 1–0 | — | 2–2 | 3–0 |
| 3 | AS Vita Club | 6 | 2 | 1 | 3 | 10 | 12 | −2 | 7 | | 0–1 | 0–3 | — | 3–1 |
| 4 | Al Merrikh | 6 | 0 | 2 | 4 | 4 | 15 | −11 | 2 | | 0–0 | 2–2 | 1–4 | — |

### Group B

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | MSD | CRB | TPM | HIL |
| 1 | Mamelodi Sundowns | 6 | 4 | 1 | 1 | 10 | 4 | +6 | 13 | Advance to knockout stage | — | 0–2 | 1–0 | 2–0 |
| 2 | CR Belouizdad | 6 | 2 | 3 | 1 | 6 | 6 | 0 | 9 | Advance to knockout stage | 1–5 | — | 2–0 | 1–1 |
| 3 | TP Mazembe | 6 | 1 | 2 | 3 | 3 | 6 | −3 | 5 | | 1–2 | 0–0 | — | 2–1 |
| 4 | Al Hilal | 6 | 0 | 4 | 2 | 2 | 5 | −3 | 4 | | 0–0 | 0–0 | 0–0 | — |

### Group C

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | WAC | KZC | HOR | PET |
| 1 | Wydad AC | 6 | 4 | 1 | 1 | 9 | 1 | +8 | 13 | Advance to knockout stage | — | 4–0 | 2–0 | 2–0 |
| 2 | Kaizer Chiefs | 6 | 2 | 3 | 1 | 5 | 6 | −1 | 9 | Advance to knockout stage | 1–0 | — | 0–0 | 2–0 |
| 3 | Horoya | 6 | 2 | 3 | 1 | 5 | 4 | +1 | 9 | | 0–0 | 2–2 | — | 2–0 |
| 4 | Petro de Luanda | 6 | 0 | 1 | 5 | 0 | 8 | −8 | 1 | | 0–1 | 0–0 | 0–1 | — |
* 1 2 Tied on head-to-head points (2), on head-to-head goal difference (0) and on head-to-head goals scored (2). Head-to-head away goals scored: Kaizer Chiefs 2, Horoya 0.

### Group D

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | EST | MCA | ZAM | TEU |
| 1 | Espérance de Tunis | 6 | 3 | 2 | 1 | 9 | 6 | +3 | 11 | Advance to knockout stage | — | 1–1 | 3–1 | 2–1 |
| 2 | MC Alger | 6 | 2 | 3 | 1 | 4 | 4 | 0 | 9 | Advance to knockout stage | 1–1 | — | 0–2 | 1–0 |
| 3 | Zamalek | 6 | 2 | 2 | 2 | 7 | 5 | +2 | 8 | | 0–1 | 0–0 | — | 4–1 |
| 4 | Teungueth | 6 | 1 | 1 | 4 | 4 | 9 | −5 | 4 | | 2–1 | 0–1 | 0–0 | — |

## Knockout stage

The mechanism of the draws for each round is as follows:
* In the draw for the quarter-finals, the four group winners are seeded, and the four group runners-up are unseeded. The seeded teams are drawn against the unseeded teams, with the seeded teams hosting the second leg. Teams from the same group cannot be drawn against each other, while teams from the same association can be drawn against each other.
* In the draws for semi-finals, there are no seedings, and teams from the same group or the same association can be drawn against each other. As the draws for the quarter-finals and semi-finals are held together before the quarter-finals are played, the identity of the quarter-final winners is not known at the time of the semi-final draw.

### Bracket

The bracket was decided after the draw for the knockout stage (quarter-finals and semi-finals), which was held on 30 April 2021, 15:00 CAT (UTC+2), at the CAF headquarters in Cairo, Egypt.
| Quarter-finals | Quarter-finals | Quarter-finals | Quarter-finals | Quarter-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final |
| 1 | MC Alger | 1 | 0 | 1 | | | | | | | | |
| 8 | Wydad AC | 1 | 1 | 2 | | | | | | | | |
| 8 | Wydad AC | 1 | 1 | 2 | Wydad AC | Wydad AC | 0 | 0 | 0 | | | |
| | | | | | Kaizer Chiefs | Kaizer Chiefs | 1 | 0 | 1 | | | |
| 4 | Kaizer Chiefs | 4 | 0 | 4 | Kaizer Chiefs | Kaizer Chiefs | 1 | 0 | 1 | | | |
| 5 | Simba | 0 | 3 | 3 | | | | | | | | |
| 5 | Simba | 0 | 3 | 3 | | | | | | Kaizer Chiefs | Kaizer Chiefs | 0 |
| | | | | | | | | | | Al Ahly | Al Ahly | 3 |
| 2 | CR Belouizdad | 2 | 0 | 2 (2) | | | | | | | | | Al Ahly | Al Ahly | 3 |
| 7 | Espérance de Tunis (p) | 0 | 2 | 2 (3) | | | | | | | | |
| 7 | Espérance de Tunis (p) | 0 | 2 | 2 (3) | Espérance de Tunis | Espérance de Tunis | 0 | 0 | 0 | | | |
| | | | | | Al Ahly | Al Ahly | 1 | 3 | 4 | | | |
| 3 | Al Ahly | 2 | 1 | 3 | Al Ahly | Al Ahly | 1 | 3 | 4 | | | |
| 6 | Mamelodi Sundowns | 0 | 1 | 1 | | | | | | | | |

### Quarter-finals

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Al Ahly | 3–1 | Mamelodi Sundowns | 2–0 | 1–1 |
| MC Alger | 1–2 | Wydad AC | 1–1 | 0–1 |
| CR Belouizdad | 2–2 (2–3 p) | Espérance de Tunis | 2–0 | 0–2 |
| Kaizer Chiefs | 4–3 | Simba | 4–0 | 0–3 |

### Semi-finals

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Wydad AC | 0–1 | Kaizer Chiefs | 0–1 | 0–0 |
| Espérance de Tunis | 0–4 | Al Ahly | 0–1 | 0–3 |

### Final

The final will be played on 17 July 2021 at Stade Mohammed V, Casablanca.

## Top goalscorers

| Rank | Player | Team | MD1 | MD2 | MD3 | MD4 | MD5 | MD6 | QF1 | QF2 | SF1 | SF2 | F | Total |
| 1 | Mohamed Sherif | Al Ahly | | | 1 | 1 | | 1 | | | 1 | 1 | 1 | 6 |
| 2 | Mohamed Ali Ben Romdhane | Espérance de Tunis | | | 2 | | 1 | | | 1 | | | | 4 |
| 2 | Amir Sayoud | CR Belouizdad | | 1 | | | 1 | 1 | 1 | | | | | | 4 |
| 4 | Clatous Chama | Simba | | | | | 2 | | | 1 | | | | 3 |
| 4 | Ayoub El Kaabi | Wydad AC | 1 | 1 | 1 | | | | | | | | | 3 |
| 4 | Luís Miquissone | Simba | | 1 | | 1 | 1 | | | | | | | | 3 |
| 4 | Samir Nurković | Kaizer Chiefs | | | | | | | 2 | | 1 | | | 3 |
| 4 | Mohamed Magdy Afsha | Al Ahly SC | 1 | | | 1 | | | | | | | 1 | 3 |