# 2019–20 CAF Confederation Cup

The 2019–20 CAF Confederation Cup (officially the 2019–20 Total CAF Confederation Cup for sponsorship reasons) was the 17th edition of Africa's secondary club football tournament organized by the Confederation of African Football (CAF), under the current CAF Confederation Cup title after the merger of CAF Cup and African Cup Winners' Cup.
This season is the first to follow an August–to-May schedule, as per the decision of the CAF Executive Committee on 20 July 2017. However, the COVID-19 pandemic caused the semi-finals and final of the competition to be postponed until October 2020. Moreover, for the first time, the final was played as a single match at a venue pre-selected by CAF, and was played at the Prince Moulay Abdellah Stadium in Rabat, Morocco.
The winners of the 2019–20 CAF Confederation Cup earned the right to play against the winners of the 2019–20 CAF Champions League in the 2020–21 CAF Super Cup. Zamalek were the title holders, but as they qualified for the 2019–20 CAF Champions League and reached the group stage, they were not able to defend their title.

## Association team allocation

All 56 CAF member associations may enter the CAF Confederation Cup, 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 (plus 16 teams eliminated from the CAF Champions League which enter the play-off round) – although this level has never been reached.
For the 2019–20 CAF Confederation Cup, the CAF uses the 2015–2019 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:
* 2018–19 – 5
* 2018 – 4
* 2017 – 3
* 2016 – 2
* 2015 – 1
This was announced by the CAF on 4 June 2019, as using the previous scheme, it would be based on results from 2014 to 2018. The only change for the top 12 associations is that Tanzania is included while Ivory Coast is excluded.

## Teams

The following 53 teams from 42 associations entered the competition.
* Eleven teams (in bold) received a bye to the first round.
* The other 42 teams entered the preliminary round.
Associations are shown according to their 2015–2019 CAF 5-year ranking – those with a ranking score have their rank and score indicated.
Associations eligible to enter two teams (Ranked 1–12) :
| Association | Team | Qualifying method |
| Tunisia (1st – 154 pts) | CS Sfaxien | 2018–19 Tunisian Ligue Professionnelle 1 third place |
| Tunisia (1st – 154 pts) | US Ben Guerdane | 2018–19 Tunisian Ligue Professionnelle 1 fourth place |
| Morocco (2nd – 153 pts) | Hassania Agadir | 2018–19 Botola third place |
| Morocco (2nd – 153 pts) | RS Berkane | 2018 Moroccan Throne Cup winners |
| Egypt (3rd – 120.5 pts) | Pyramids | 2018–19 Egyptian Premier League third place |
| Egypt (3rd – 120.5 pts) | Al-Masry | 2018–19 Egyptian Premier League fourth place |
| Algeria (4th – 92 pts) | Paradou AC | 2018–19 Algerian Ligue Professionnelle 1 third place |
| Algeria (4th – 92 pts) | CR Belouizdad | 2018–19 Algerian Cup winners |
| DR Congo (5th – 87 pts) | DC Motema Pembe | 2018–19 Linafoot third place |
| DR Congo (5th – 87 pts) | AS Maniema Union | 2019 Coupe du Congo DR winners |
| South Africa (6th – 76.5 pts) | Bidvest Wits | 2018–19 South African Premier Division third place |
| South Africa (6th – 76.5 pts) | TS Galaxy | 2018–19 Nedbank Cup winners |
| Zambia (7th – 40.5 pts) | Buildcon | 2019 Zambia Super League third place |
| Zambia (7th – 40.5 pts) | Zanaco | 2019 Zambia Super League fourth place |
| Sudan (8th – 35 pts) | Al-Ahly Shendi | 2018–19 Sudan Premier League third place |
| Sudan (8th – 35 pts) | Al-Khartoum | 2018–19 Sudan Premier League fourth place |
| Nigeria (9th – 32.5 pts) | Enugu Rangers | 2019 Nigeria Professional Football League third place |
| Nigeria (9th – 32.5 pts) | Niger Tornadoes | 2019 Nigeria Federation Cup runners-up |
| Guinea (10th – 30 pts) | Santoba | 2018–19 Guinée Championnat National third place |
| Guinea (10th – 30 pts) | CI Kamsar | 2019 Guinée Coupe Nationale runners-up |
| Tanzania (12th – 18 pts) | Azam | 2018–19 Tanzania FA Cup winners |
| Tanzania (12th – 18 pts) | KMC | 2018–19 Tanzanian Premier League fourth place |
Associations eligible to enter one team :
| Association | Team | Qualifying method |
| Ivory Coast (13th – 15 pts) | FC San Pédro | 2019 Coupe de Côte d'Ivoire winners |
| Kenya (14th – 14 pts) | Bandari | 2019 FKF President's Cup winners |
| Congo (16th – 11.5 pts) | Étoile du Congo | 2018–19 Congo Ligue 1 runners-up |
| Uganda (17th – 11 pts) | Proline | 2019 Uganda Cup winners |
| Libya (18th – 10 pts) | Al-Ittihad | 2018 Libyan Cup winners |
| Ghana (19th – 9 pts) | Ashanti Gold | 2019 GFA Normalization Committee Special Competition Tier 2 winners |
| Rwanda (T-20th – 8 pts) | AS Kigali | 2019 Rwandan Cup winners |
| Zimbabwe (T-20th – 8 pts) | Triangle United | 2018 Cup of Zimbabwe winners |
| Eswatini (22nd – 7 pts) | Young Buffaloes | 2019 Eswatini Cup winners |
| Ethiopia (23rd – 6 pts) | Fasil Kenema | 2019 Ethiopian Cup winners |
| Botswana (T-24th – 4 pts) | Jwaneng Galaxy | 2018–19 Mascom Top 8 Cup winners |
| Togo (T-24th – 4 pts) | Maranatha | 2018–19 Togolese Championnat National runners-up |
| Cameroon (T-26th – 3 pts) | Stade Renard de Melong | 2019 Cameroonian Cup winners |
| Mali (T-26th – 3 pts) | Djoliba | 2018 Malian Cup runners-up |
| Burkina Faso (28th – 2.5 pts) | Salitas | 2018–19 Burkinabé Premier League runners-up |
| Gabon (29th – 1.5 pts) | AS Pélican | 2019 Gabon Championnat National D1 runners-up |
| Benin | ESAE | 2019 Benin Cup winners |
| Burundi | Rukinzo | 2019 Burundian Cup runners-up |
| Chad | AS CotonTchad | 2019 Chad Premier League runners-up |
| Djibouti | Arta/Solar7 | 2019 Djibouti Cup winners |
| Equatorial Guinea | Akonangui | 2019 Equatoguinean Cup winners |
| Liberia | LISCR | 2019 Liberian FA Cup winners |
| Madagascar | CNaPS Sport | 2019 Coupe de Madagascar runners-up |
| Malawi | Masters Security | 2018 Malawi Carlsberg Cup winners |
| Mauritania | ASC Snim | 2019 Coupe du Président de la République winners |
| Mauritius | Bolton City | 2019 Mauritian Cup winners |
| Niger | USGN | 2019 Niger Cup runners-up |
| Seychelles | Saint Louis Suns United | 2018–19 Seychelles FA Cup winners |
| Somalia | Mogadishu City | 2018 Somalia Cup winners |
| South Sudan | Amarat United | 2019 South Sudan National Cup winners |
| Zanzibar | Malindi | 2019 Zanzibari Cup winners |
A further 16 teams eliminated from the 2019–20 CAF Champions League enter the play-off round.
Losers of 2019–20 CAF Champions League first round :
| Al-Nasr | Horoya | ASC Kara | Enyimba |
| Gor Mahia | Cano Sport | Génération Foot | Asante Kotoko |
| KCCA | Côte d'Or | FC Nouadhibou | Elect-Sport |
| Young Africans | Songo | Green Eagles | Fosa Juniors |

### Notes

* ^ Libya (LBY): For the second consecutive season, Libya were represented by Al-Ittihad, the 2018 Libyan Cup winners, as the 2018–19 Libyan Premier League was suspended and the Libyan Cup was not played in 2018–19.
* ^ Mali (MLI): For the second consecutive season, Mali were represented by Djoliba, the 2018 Malian Cup runners-up, as the Malian Première Division and Malian Cup were not played in 2018–19.
* ^ Morocco (MAR): For the second consecutive season, Morocco were represented by RS Berkane, the 2018 Moroccan Throne Cup winners, as the 2018–19 Moroccan Throne Cup was not completed in time.

### Associations which did not enter a team

* Angola (11th – 21.5 pts; eligible for two entrants)
* Cape Verde
* Central African Republic
* Comoros
* Eritrea
* Gambia
* Guinea-Bissau
* Lesotho
* Namibia
* Réunion
* São Tomé and Príncipe
* Sierra Leone

### Associations which did not enter a team initially, but had a team transferred from Champions League

* Mozambique (15th – 13 pts)
* Senegal

## Schedule

The schedule of the competition is as follows.
On 24 November 2019, CAF made a change to all fixtures dates starting from the group stage matchday 4 to the final, due to rescheduling of the 2020 African Nations Championship from January/February to April. The quarter-finals draw date was also changed.
Following the quarter-finals, due to the COVID-19 pandemic in Africa, the semi-finals, originally scheduled for 3 May (first legs) and 10 May (second legs), were postponed indefinitely on 11 April 2020, and the final, originally scheduled for 24 May, was also postponed on 18 April 2020. On 30 June 2020, the CAF Executive Committee proposed that the competition would resume with a Final Four format played as single matches in Morocco. On 3 August 2020, the CAF announced that the competition would resume with the semi-finals played on 22 September, and the final played on 27 September. On 10 September 2020, the CAF announced that at the request of the Royal Moroccan Football Federation, the semi-finals were rescheduled to 19–20 October, and the final to 25 October.
| Phase | Round | Draw date | First leg | Second leg |
| Qualifying | Preliminary round | 21 July 2019 | 9–11 August 2019 | 23–25 August 2019 |
| Qualifying | First round | 21 July 2019 | 13–15 September 2019 | 27–29 September 2019 |
| Qualifying | Play-off round | 9 October 2019 | 27 October 2019 | 3 November 2019 |
| Group stage | Matchday 1 | 12 November 2019 | 1 December 2019 | 1 December 2019 |
| Group stage | Matchday 2 | 12 November 2019 | 8 December 2019 | 8 December 2019 |
| Group stage | Matchday 3 | 12 November 2019 | 29 December 2019 | 29 December 2019 |
| Group stage | Matchday 4 | 12 November 2019 | 12 January 2020 | 12 January 2020 |
| Group stage | Matchday 5 | 12 November 2019 | 26 January 2020 | 26 January 2020 |
| Group stage | Matchday 6 | 12 November 2019 | 2 February 2020 | 2 February 2020 |
| Knockout stage | Quarter-finals | 5 February 2020 | 1 March 2020 | 8 March 2020 |
| Knockout stage | Semi-finals | 5 February 2020 | 19–20 October 2020 | 19–20 October 2020 |
| Knockout stage | Final | 5 February 2020 | 25 October 2020 | 25 October 2020 |

## Qualifying rounds

The draw for the preliminary round and first round was held on 21 July 2019 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 was applied, and if still tied, extra time was not played, and the penalty shoot-out was used to determine the winner (Regulations III. 13 & 14).

### Preliminary round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| ASC Snim | 0–7 | ESAE | 0–5 | 0–2 |
| USGN | 1–3 | Al-Ittihad | 1–1 | 0–2 |
| Maranatha | 3–0 | LISCR | 3–0 | 0–0 |
| AS Pélican | 2–2 (4–1 p) | AS Maniema Union | 1–1 | 1–1 |
| Paradou AC | 3–1 | CI Kamsar | 3–0 | 0–1 |
| Bolton City | 3–2 | Jwaneng Galaxy | 3–1 | 0–1 |
| Mogadishu City | 0–1 | Malindi | 0–0 | 0–1 |
| Akonangui | 1–4 | Ashanti Gold | 1–1 | 0–3 |
| Niger Tornadoes | 4–5 | Santoba | 1–2 | 3–3 |
| TS Galaxy | 2–0 | Saint Louis Suns United | 1–0 | 1–0 |
| Buildcon | 1–2 | Young Buffaloes | 0–1 | 1–1 |
| Arta/Solar7 | 1–4 | Al-Khartoum | 1–1 | 0–3 |
| DC Motema Pembe | 4–0 | Stade Renard de Melong | 2–0 | 2–0 |
| AS Kigali | 2–1 | KMC | 0–0 | 2–1 |
| Proline | 3–0 | Masters Security | 3–0 | 0–0 |
| Bandari | 1–1 (a) | Al-Ahly Shendi | 0–0 | 1–1 |
| US Ben Guerdane | 5–1 | Amarat United | 5–1 | 0–0 |
| Fasil Kenema | 2–3 | Azam | 1–0 | 1–3 |
| Triangle United | 5–0 | Rukinzo | 5–0 | 0–0 |
| Pyramids | 5–1 | Étoile du Congo | 4–1 | 1–0 |
| CR Belouizdad | 4–0 | AS CotonTchad | 2–0 | 2–0 |

### First round

The 16 winners of the first round advanced to the play-off round, where they were joined by the 16 losers of the Champions League first round.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| ESAE | 0–0 (3–2 p) | Salitas | 0–0 | 0–0 |
| Al-Ittihad | 1–1 (a) | Hassania Agadir | 1–1 | 0–0 |
| Maranatha | 2–3 | Djoliba | 1–2 | 1–1 |
| AS Pélican | 3–4 | Enugu Rangers | 2–1 | 1–3 |
| Paradou AC | 3–1 | CS Sfaxien | 3–1 | 0–0 |
| Bolton City | 1–5 | Zanaco | 1–2 | 0–3 |
| Malindi | 2–7 | Al-Masry | 1–4 | 1–3 |
| Ashanti Gold | 3–4 | RS Berkane | 3–2 | 0–2 |
| Santoba | 0–3 | FC San Pédro | 0–0 | 0–3 |
| TS Galaxy | 4–1 | CNaPS Sport | 1–0 | 3–1 |
| Young Buffaloes | 1–3 | Bidvest Wits | 1–0 | 0–3 |
| Al-Khartoum | 3–3 (1–3 p) | DC Motema Pembe | 1–2 | 2–1 |
| AS Kigali | 2–3 | Proline | 1–1 | 1–2 |
| Bandari | 3–2 | US Ben Guerdane | 2–0 | 1–2 |
| Azam | 0–2 | Triangle United | 0–1 | 0–1 |
| Pyramids | 2–1 | CR Belouizdad | 1–1 | 1–0 |

### Play-off round

The draw for the play-off round was held on 9 October 2019, 19:00 CAT (UTC+2), at the Hilton Pyramids Golf in Cairo, Egypt. The winners of the Confederation Cup first round were drawn against the losers of the Champions League first round, with the teams from the Confederation Cup hosting the second leg. The 16 winners of the play-off round advanced to the group stage.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Horoya | 5–2 | Bandari | 4–2 | 1–0 |
| Young Africans | 1–5 | Pyramids | 1–2 | 0–3 |
| Enyimba | 4–1 | TS Galaxy | 2–0 | 2–1 |
| Génération Foot | 1–1 (3–4 p) | ESAE | 0–1 | 1–0 |
| Asante Kotoko | 1–2 | FC San Pédro | 1–0 | 0–2 |
| KCCA | 1–4 | Paradou AC | 0–0 | 1–4 |
| Gor Mahia | 2–3 | DC Motema Pembe | 1–1 | 1–2 |
| UD Songo | 1–8 | Bidvest Wits | 1–2 | 0–6 |
| Elect-Sport | 0–5 | Djoliba | 0–1 | 0–4 |
| Green Eagles | 2–3 | Hassania Agadir | 1–1 | 1–2 |
| Cano Sport | 2–8 | Zanaco | 1–3 | 1–5 |
| Fosa Juniors | 2–5 | RS Berkane | 2–0 | 0–5 |
| Côte d'Or | 0–6 | Al-Masry | 0–4 | 0–2 |
| ASC Kara | 2–2 (a) | Enugu Rangers | 2–1 | 0–1 |
| FC Nouadhibou | 4–3 | Triangle United | 2–0 | 2–3 |
| Al-Nasr | 4–2 | Proline | 2–2 | 2–0 |

## Group stage

The draw for the group stage was held on 12 November 2019, 12:00 CAT (UTC+2), at the CAF headquarters in Cairo, Egypt. The 16 teams, all winners of the play-off 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 Pot 1, one team from Pot 2 and two teams from Pot 3, and each team was drawn into one of the positions in their group.
| Pot | Pot 1 | Pot 2 | Pot 3 |
| Teams | Horoya (30 pts) RS Berkane (28 pts) Enyimba (16 pts) Al-Masry (12 pts) | Hassania Agadir (10 pts) Zanaco (6 pts) Enugu Rangers (5 pts) Djoliba (2 pts) | Paradou AC ESAE DC Motema Pembe Pyramids FC San Pédro Al-Nasr FC Nouadhibou Bidvest Wits |
In each group, teams play against each other home-and-away in a round-robin format. The group winners and runners-up 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 | PYR | MAS | RAN | FCN |
| 1 | Pyramids | 6 | 5 | 0 | 1 | 14 | 3 | +11 | 15 | Advance to knockout stage | — | 2–0 | 0–1 | 6–0 |
| 2 | Al-Masry | 6 | 3 | 1 | 2 | 10 | 9 | +1 | 10 | Advance to knockout stage | 1–2 | — | 4–2 | 1–0 |
| 3 | Enugu Rangers | 6 | 1 | 3 | 2 | 6 | 9 | −3 | 6 | | 1–3 | 1–1 | — | 1–1 |
| 4 | FC Nouadhibou | 6 | 0 | 2 | 4 | 3 | 12 | −9 | 2 | | 0–1 | 2–3 | 0–0 | — |

### Group B

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | HOR | NAS | DJO | BID |
| 1 | Horoya | 6 | 4 | 2 | 0 | 8 | 1 | +7 | 14 | Advance to knockout stage | — | 3–0 | 1–0 | 2–1 |
| 2 | Al-Nasr | 6 | 2 | 2 | 2 | 4 | 7 | −3 | 8 | Advance to knockout stage | 0–2 | — | 1–1 | 2–1 |
| 3 | Djoliba | 6 | 2 | 2 | 2 | 4 | 3 | +1 | 8 | | 0–0 | 0–1 | — | 1–0 |
| 4 | Bidvest Wits | 6 | 0 | 2 | 4 | 2 | 7 | −5 | 2 | | 0–0 | 0–0 | 0–2 | — |
* 1 2 Head-to-head points: Al-Nasr 4, Djoliba 1.

### Group C

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | RSB | ZAN | DCM | ESA |
| 1 | RS Berkane | 6 | 3 | 2 | 1 | 13 | 4 | +9 | 11 | Advance to knockout stage | — | 1–1 | 3–0 | 3–0 |
| 2 | Zanaco | 6 | 2 | 4 | 0 | 8 | 4 | +4 | 10 | Advance to knockout stage | 1–1 | — | 2–1 | 3–0 |
| 3 | DC Motema Pembe | 6 | 3 | 1 | 2 | 6 | 6 | 0 | 10 | | 1–0 | 1–1 | — | 1–0 |
| 4 | ESAE | 6 | 0 | 1 | 5 | 1 | 14 | −13 | 1 | | 1–5 | 0–0 | 0–2 | — |
* 1 2 Head-to-head points: Zanaco 4, DC Motema Pembe 1.

### Group D

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | HAS | ENY | PAC | SNP |
| 1 | Hassania Agadir | 6 | 3 | 2 | 1 | 9 | 5 | +4 | 11 | Advance to knockout stage | — | 2–0 | 0–3 | 3–0 |
| 2 | Enyimba | 6 | 3 | 1 | 2 | 11 | 7 | +4 | 10 | Advance to knockout stage | 1–1 | — | 4–1 | 1–0 |
| 3 | Paradou AC | 6 | 2 | 2 | 2 | 5 | 6 | −1 | 8 | | 0–2 | 1–0 | — | 0–0 |
| 4 | FC San Pédro | 6 | 0 | 3 | 3 | 3 | 10 | −7 | 3 | | 1–1 | 2–5 | 0–0 | — |

## Knockout stage

In the knockout stage, the quarter-finals were played over two legs, with each team playing one leg at home. The team that scored more goals on aggregate over the two legs advanced to the next round. If the aggregate score was level, the away goals rule is applied, i.e. the team that scored more goals away from home over the two legs advanced. If away goals were also equal, then extra time was not played and the winners were decided by a penalty shoot-out.
The semi-finals were originally to be played over two legs, but were played as single matches after the format change due to the COVID-19 pandemic.
In the final, which was played as a single match, if the score was level at the end of normal time, extra time was also not to be played and the winners would be decided by a penalty shoot-out.
The mechanism of the draws for each round was as follows:
* In the draw for the quarter-finals, the four group winners were seeded, and the four group runners-up were unseeded. The seeded teams were drawn against the unseeded teams, with the seeded teams hosting the second leg. Teams from the same group could not be drawn against each other, while teams from the same association could be drawn against each other.
* In the draws for semi-finals, there were no seedings, and teams from the same group or the same association could be drawn against each other. As the draws for the quarter-finals and semi-finals were held together before the quarter-finals were played, the identity of the quarter-final winners was 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 5 February 2020, 19:00 CAT (UTC+2), at the Hilton Pyramids Golf in Cairo, Egypt.
| Quarter-finals | Quarter-finals | Quarter-finals | Quarter-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final | Final |
| Zanaco | 0 | 1 | 1 | | | | |
| Pyramids | 3 | 0 | 3 | | | | |
| Pyramids | 3 | 0 | 3 | Pyramids | Pyramids | Pyramids | 2 |
| | | | | Horoya | Horoya | Horoya | 0 |
| Enyimba | 1 | 0 | 1 | Horoya | Horoya | Horoya | 0 |
| Horoya | 1 | 2 | 3 | | | | | | | | |
| Horoya | 1 | 2 | 3 | | | | | Pyramids | Pyramids | Pyramids | 0 |
| | | | | | | | | RS Berkane | RS Berkane | RS Berkane | 1 |
| Al-Masry | 2 | 0 | 2 | | | | | RS Berkane | RS Berkane | RS Berkane | 1 |
| RS Berkane | 2 | 1 | 3 | | | | | | | | |
| RS Berkane | 2 | 1 | 3 | RS Berkane | RS Berkane | RS Berkane | 2 | | | | |
| | | | | Hassania Agadir | Hassania Agadir | Hassania Agadir | 1 |
| Al-Nasr | 0 | 0 | 0 | Hassania Agadir | Hassania Agadir | Hassania Agadir | 1 |
| Hassania Agadir | 5 | 2 | 7 | | | | |

### Quarter-finals

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Zanaco | 1–3 | Pyramids | 0–3 | 1–0 |
| Al-Nasr | 0–7 | Hassania Agadir | 0–5 | 0–2 |
| Al-Masry | 2–3 | RS Berkane | 2–2 | 0–1 |
| Enyimba | 1–3 | Horoya | 1–1 | 0–2 |

### Semi-finals

Due to the COVID-19 pandemic in Africa, all semi-final matches, originally scheduled for 1–2 May (first legs) and 8–9 May 2020 (second legs), were postponed until further notice. The matches were later rescheduled as single matches in Morocco for 19–20 October 2020, at Prince Moulay Abdellah Stadium, Rabat and Stade Mohamed V, Casablanca.
| Team 1 | Score | Team 2 |
| Pyramids | 2–0 | Horoya |
| RS Berkane | 2–1 | Hassania Agadir |

### Final

Due to the COVID-19 pandemic, the final, originally scheduled for 24 May 2020, 19:00 GMT, at the Prince Moulay Abdellah Stadium, Rabat, Morocco, was postponed until further notice. The final was later rescheduled for 25 October 2020.

## Top goalscorers

| Rank | Player | Team | MD1 | MD2 | MD3 | MD4 | MD5 | MD6 | QF1 | QF2 | SF | Total |
| 1 | Karim El Berkaoui | Hassania Agadir | 1 | | | 3 | | | 3 | 1 | | 8 |
| 2 | Stanley Dimgba | Enyimba | | | | 3 | | 1 | | | | 4 |
| 2 | Mohamed Farouk | Pyramids | 1 | 2 | | | | | 1 | | | 4 |
| 4 | Alaedine Ajaray | RS Berkane | | | | | 3 | | | | | 3 |
| 4 | Austin Amutu | Al-Masry | 2 | 1 | | | | | | | | | 3 |
| 4 | John Antwi | Pyramids | | 1 | 1 | | | 1 | | | | 3 |
| 4 | Mohamed Aziz | RS Berkane | | | | | 1 | | | | 2 | 3 |
| 4 | Malick Cissé | Hassania Agadir | 1 | | | | | | 2 | | | 3 |
| 4 | Boniface Haba | Horoya | | | | | 1 | 1 | 1 | | | 3 |
| 4 | Rodgers Kola | Zanaco | | | | 2 | | | | 1 | | | 3 |
| 4 | Vinny Kombe | DC Motema Pembe | | 2 | | | 1 | | | | | | | 3 |
| 4 | Hamdi Laachir | RS Berkane | 1 | | 1 | | 1 | | | | | 3 |
| 4 | Victor Mbaoma | Enyimba | | | | 1 | | 2 | | | | | 3 |
| 4 | Augustine Oladapo | Enyimba | | | | | 1 | 1 | 1 | | | | 3 |
| 4 | Eric Traoré | Pyramids | | 2 | | 1 | | | | | | 3 |