# CAF Champions League 2019-2020

La CAF Champions League 2019-2020 (ufficialmente Total CAF Champions League 2019-2020 per ragioni di sponsorizzazione) è stata la 56ª edizione di questo torneo organizzato dalla CAF, la 24ª con la forma attuale.
Questa edizione sarebbe dovuta essere la prima a tenersi da agosto a maggio, in seguito a una decisione del Comitato esecutivo CAF del 20 luglio 2017. La competizione, iniziata il 9 agosto 2019, ha tuttavia visto il rinvio delle semifinali e della finale all'autunno 2020 a causa della pandemia di COVID-19.
Il trofeo è stato vinto dall'Al-Ahly, che, nella prima finale continentale contro i concittadini dello Zamalek, si è imposto per 2-1 e si è così qualificato alla Coppa del mondo per club FIFA 2020 in Qatar e alla Supercoppa CAF 2021 contro i vincitori della Coppa della Confederazione CAF 2019-2020.

## Sistema della graduatoria

La CAF calcola i punti per ogni associazione in base ai risultati dei propri club nella Champions League e nella Coppa della Confederazione CAF, non prendendo in considerazione l'anno corrente. I criteri per i punti sono i seguenti:
| | CAF Champions League | Coppa della Confederazione CAF |
| Vincitore | 6 punti | 5 punti |
| Seconda | 5 punti | 4 punti |
| Eliminate alle semifinali | 4 punti | 3 punti |
| Eliminate ai quarti di finale (dal 2017) | 3 punti | 2 punti |
| 3º posto nei gruppi | 2 punti | 1 punti |
| 4º posto nei gruppi | 1 punto | 0.5 punto |
I punti sono moltiplicati per un dato coefficiente a seconda dell'anno
* 2018-19 – 5
* 2018 – 4
* 2017 – 3
* 2016 – 2
* 2015 – 1

## Turni e date dei sorteggi

| Fase | Turno | Data sorteggio | Andata | Ritorno |
| Qualificazioni | Turno Preliminare | 21 luglio 2019 (Il Cairo, Egitto) | 9-11 agosto 2019 | 23-25 agosto 2019 |
| Qualificazioni | Primo turno | 21 luglio 2019 (Il Cairo, Egitto) | 13-15 settembre 2019 | 27-29 settembre 2019 |
| Fase a gironi | 1ª giornata | 9 ottobre 2019 | 29-30 novembre 2019 | 29-30 novembre 2019 |
| Fase a gironi | 2ª giornata | 9 ottobre 2019 | 6-7 dicembre 2019 | 6-7 dicembre 2019 |
| Fase a gironi | 3ª giornata | 9 ottobre 2019 | 27-28 dicembre 2019 | 27-28 dicembre 2019 |
| Fase a gironi | 4ª giornata | 9 ottobre 2019 | 10-11 gennaio 2020 | 10-11 gennaio 2020 |
| Fase a gironi | 5ª giornata | 9 ottobre 2019 | 24-25 gennaio 2020 | 24-25 gennaio 2020 |
| Fase a gironi | 6ª giornata | 9 ottobre 2019 | 31 gennaio - 1 febbraio 2020 | 31 gennaio - 1 febbraio 2020 |
| Fase finale | Quarti di finale | 9 febbraio 2020 | 28-29 febbraio 2020 | 6-7 marzo 2020 |
| Fase finale | Semifinali | 9 febbraio 2020 | 17-18 ottobre 2020 | 23 ottobre e 4 novembre 2020 |
| Fase finale | Finale | 9 febbraio 2020 | 27 novembre 2020 | 27 novembre 2020 |

## Qualificazioni
### Turno preliminare

| Squadra 1 | Totale | Squadra 2 | Andata | Ritorno |
| Brikama Utd | 3 - 7 | Raja Casablanca | 3 - 3 | 0 - 4 |
| Tempête Mocaf | 2 - 3 | Al-Nasr Bengasi | 1 - 0 | 1 - 3 |
| JS Kabylie | 3 - 3 (gfc) | Al-Merrikh | 1 - 0 | 2 - 3 |
| Stade Malien | 1 - 2 | Horoya | 1 - 1 | 0 - 1 |
| Template:Calcio Buffles du Borgou | 1 - 2 | ASC Kara | 1 - 1 | 0 - 1 |
| UMS de Loum | 0 - 1 | Vita Club | 0 - 0 | 0 - 1 |
| Rayon Sports | 1 - 1 (gfc) | Al-Hilal Omdurman | 1 - 1 | 0 - 0 |
| Rahimo | 1 - 5 | Enyimba | 1 - 0 | 0 - 5 |
| SONIDEP | 2 - 5 | USM Alger | 1 - 2 | 1 - 3 |
| Aigle Noir | 1 - 5 | Gor Mahia | 0 - 0 | 1 - 5 |
| Atlabara | 0 - 13 | Al-Ahly | 0 - 4 | 0 - 9 |
| Cano Sport | 3 - 2 | Mekelle 70 Enderta | 2 - 1 | 1 - 1 |
| Dekedda | 0 - 13 | Zamalek | 0 - 7 | 0 - 6 |
| LPRC Oilers | 1 - 3 | Génération Foot | 1 - 0 | 0 - 3 |
| Hafia | 3 - 8 | Étoile du Sahel | 2 - 1 | 1 - 7 |
| Kano Pillars | 3 - 4 | Asante Kotoko | 3 - 2 | 0 - 2 |
| African Stars | 3 - 4 | Kampala City | 3 - 2 | 0 - 2 |
| Matlama | 0 - 4 | Petro Atlético | 0 - 2 | 0 - 2 |
| Fomboni | 3 - 3 (gfc) | Côte d'Or | 2 - 2 | 1 - 1 |
| AS Otôho | 2 - 5 | M. Sundowns | 2 - 1 | 0 - 4 |
| SOA | 0 - 1 | Nouadhibou | 0 - 0 | 0 - 1 |
| Cercle Mbéri | 0 - 2 | Elect Sport N'Djamena | 0 - 0 | 0 - 2 |
| Green Mamba | 0 - 3 | ZESCO Utd | 0 - 2 | 0 - 1 |
| Young Africans | 2 - 1 | Township Rollers | 1 - 1 | 1 - 0 |
| Big Bullets | 2 - 3 | Platinum | 0 - 0 | 2 - 3 |
| Songo | 1 - 1 (gfc) | Simba | 0 - 0 | 1 - 1 |
| KMKM | 0 - 4 | Primeiro de Agosto | 0 - 2 | 0 - 2 |
| Green Eagles | 2 - 1 | Orlando Pirates | 1 - 0 | 1 - 1 |
| Fosa Juniors | 2 - 1 | Pamplemousses | 1 - 0 | 1 - 1 |

### Primo turno

| Squadra 1 | Totale | Squadra 2 | Andata | Ritorno |
| Al-Nasr Bengasi | 2 - 4 | Raja Casablanca | 1 - 3 | 1 - 1 |
| JS Kabylie | 2 - 2 (5-3 dtr) | Horoya | 2 - 0 | 0 - 2 |
| ASC Kara | 0 - 1 | Vita Club | 0 - 0 | 0 - 1 |
| Enyimba | 0 - 1 | Al-Hilal Omdurman | 0 - 0 | 0 - 1 |
| USM Alger | 6 - 1 | Gor Mahia | 4 - 1 | 2 - 0 |
| Cano Sport | 0 - 6 | Al-Ahly | 0 - 2 | 0 - 4 |
| Génération Foot | 2 - 2 (gfc) | Zamalek | 2 - 1 | 0 - 1 |
| Asante Kotoko | 2 - 3 | Étoile du Sahel | 2 - 0 | 0 - 3 |
| Petro Atlético | 1 - 1 (gfc) | Kampala City | 0 - 0 | 1 - 1 |
| Côte d'Or | 1 - 16 | M. Sundowns | 0 - 5 | 1 - 11 |
| Nouadhibou | 1 - 6 | Wydad Casablanca | 0 - 2 | 1 - 4 |
| Elect Sport N'Djamena | 2 - 3 | Espérance | 1 - 1 | 1 - 2 |
| Young Africans | 2 - 3 | ZESCO Utd | 1 - 1 | 1 - 2 |
| Platinum | 5 - 2 | Songo | 1 - 0 | 4 - 2 |
| Green Eagles | 2 - 2 (gfc) | Primeiro de Agosto | 1 - 2 | 1 - 0 |
| Fosa Juniors | 1 - 3 | TP Mazembe | 0 - 0 | 1 - 3 |

### Squadre qualificate per la fase a gironi

| Urna 1 | Urna 2 | Urna 3 | Urna 4 |
| Espérance (63,5 punti) | Étoile du Sahel (50 punti) | USM Alger (25 punti) | Primeiro de Agosto (16 punti) |
| TP Mazembe (63 punti) | M. Sundowns (49 punti) | ZESCO Utd (24,5 punti) | Platinum (5 punti) |
| Wydad Casablanca (63 punti) | Zamalek (44 punti) | Vita Club (24 punti) | Petro Atlético (2,5 punti) |
| Al-Ahly (57 punti) | Raja Casablanca (25 punti) | Al-Hilal Omdurman (19 punti) | JS Kabylie (0 punti) |
I sorteggi per la fase a gironi della competizione si sono svolti il 9 ottobre 2019.
Le 16 squadre qualificate sono state raggruppate in 4 urne in base ai punti del Ranking CAF e, successivamente, inserite casualmente in altrettanti gruppi dai quali si qualificheranno alla successiva fase le prime due squadre per ogni gruppo.

## Fase a gironi
### Gruppo A

| Squadra | Pt | G | V | N | P | GF | GS | DR |
| TP Mazembe | 14 | 6 | 4 | 2 | 0 | 11 | 4 | +7 |
| Zamalek | 9 | 6 | 2 | 3 | 1 | 5 | 4 | +1 |
| Primeiro de Agosto | 4 | 6 | 0 | 4 | 2 | 4 | 7 | -3 |
| ZESCO Utd | 3 | 6 | 0 | 3 | 3 | 5 | 10 | -5 |
| Squadra 1 | Risultato | Squadra 2 |
| 1ª giornata |||
| TP Mazembe | 3 - 0 | Zamalek |
| Primeiro de Agosto | 1 - 1 | ZESCO Utd |
| 2ª giornata |||
| ZESCO Utd | 1 - 2 | TP Mazembe |
| Zamalek | 2 - 0 | Primeiro de Agosto |
| 3ª giornata |||
| Primeiro de Agosto | 1 - 1 | TP Mazembe |
| ZESCO Utd | 1 - 1 | Zamalek |
| 4ª giornata |||
| Zamalek | 2 - 0 | ZESCO Utd |
| TP Mazembe | 2 - 1 | Primeiro de Agosto |
| 5ª giornata |||
| Zamalek | 0 - 0 | TP Mazembe |
| ZESCO Utd | 1 - 1 | Primeiro de Agosto |
| 6ª giornata |||
| Primeiro de Agosto | 0 - 0 | Zamalek |
| TP Mazembe | 3 - 1 | ZESCO Utd |

### Gruppo B

| Squadra | Pt | G | V | N | P | GF | GS | DR |
| Étoile du Sahel | 12 | 6 | 4 | 0 | 2 | 8 | 3 | +5 |
| Al-Ahly | 11 | 6 | 3 | 2 | 1 | 7 | 4 | +3 |
| Al-Hilal Omdurman | 10 | 6 | 3 | 1 | 2 | 7 | 6 | +1 |
| Platinum | 1 | 6 | 0 | 1 | 5 | 2 | 11 | -9 |
| Squadra 1 | Risultato | Squadra 2 |
| 1ª giornata |||
| Étoile du Sahel | 1 - 0 | Al-Ahly |
| Al-Hilal Omdurman | 2 - 1 | Platinum |
| 2ª giornata |||
| Al-Ahly | 2 - 1 | Al-Hilal Omdurman |
| Platinum | 0 - 3 | Étoile du Sahel |
| 3ª giornata |||
| Étoile du Sahel | 0 - 1 | Al-Hilal Omdurman |
| Al-Ahly | 2 - 0 | Platinum |
| 4ª giornata |||
| Platinum | 1 - 1 | Al-Ahly |
| Al-Hilal Omdurman | 1 - 2 | Étoile du Sahel |
| 5ª giornata |||
| Al-Ahly | 1 - 0 | Étoile du Sahel |
| Platinum | 0 - 1 | Al-Hilal Omdurman |
| 6ª giornata |||
| Étoile du Sahel | 2 - 0 | Platinum |
| Al-Hilal Omdurman | 1 - 1 | Al-Ahly |

### Gruppo C

| Squadra | Pt | G | V | N | P | GF | GS | DR |
| M. Sundowns | 14 | 6 | 4 | 2 | 0 | 9 | 3 | +6 |
| Wydad Casablanca | 9 | 6 | 2 | 3 | 1 | 10 | 6 | +4 |
| Petro Atlético | 4 | 6 | 0 | 4 | 2 | 8 | 14 | -6 |
| USM Alger | 3 | 6 | 0 | 3 | 3 | 6 | 10 | -4 |
| Squadra 1 | Risultato | Squadra 2 |
| 1ª giornata |||
| USM Alger | 1 - 1 | Wydad Casablanca |
| M. Sundowns | 3 - 0 | Petro Atlético |
| 2ª giornata |||
| Petro Atlético | 1 - 1 | USM Alger |
| Wydad Casablanca | 0 - 0 | M. Sundowns |
| 3ª giornata |||
| USM Alger | 0 - 1 | M. Sundowns |
| Wydad Casablanca | 4 - 1 | Petro Atlético |
| 4ª giornata |||
| M. Sundowns | 2 - 1 | USM Alger |
| Petro Atlético | 2 - 2 | Wydad Casablanca |
| 5ª giornata |||
| Wydad Casablanca | 3 - 1 | USM Alger |
| Petro Atlético | 2 - 2 | M. Sundowns |
| 6ª giornata |||
| USM Alger | 2 - 2 | Petro Atlético |
| M. Sundowns | 1 - 0 | Wydad Casablanca |

### Gruppo D

| Squadra | Pt | G | V | N | P | GF | GS | DR |
| Espérance | 11 | 6 | 3 | 2 | 1 | 7 | 3 | +4 |
| Raja Casablanca | 11 | 6 | 3 | 2 | 1 | 6 | 4 | +2 |
| JS Kabylie | 7 | 6 | 2 | 1 | 3 | 3 | 7 | -4 |
| Vita Club | 4 | 6 | 1 | 1 | 4 | 4 | 6 | -2 |
| Squadra 1 | Risultato | Squadra 2 |
| 1ª giornata |||
| JS Kabylie | 1 - 0 | Vita Club |
| Raja Casablanca | 0 - 2 | Espérance |
| 2ª giornata |||
| Vita Club | 0 - 1 | Raja Casablanca |
| Espérance | 1 - 0 | JS Kabylie |
| 3ª giornata |||
| Espérance | 0 - 0 | Vita Club |
| Raja Casablanca | 2 - 0 | JS Kabylie |
| 4ª giornata |||
| JS Kabylie | 0 - 0 | Raja Casablanca |
| Vita Club | 0 - 2 | Espérance |
| 5ª giornata |||
| Vita Club | 4 - 1 | JS Kabylie |
| Espérance | 2 - 2 | Raja Casablanca |
| 6ª giornata |||
| Raja Casablanca | 1 - 0 | Vita Club |
| JS Kabylie | 1 - 0 | Espérance |

## Fase ad eliminazione diretta
### Tabellone

| Quarti di finale | Quarti di finale | Quarti di finale | Quarti di finale | Quarti di finale | Semifinali | Semifinali | Semifinali | Semifinali | Semifinali | Finale | Finale | Finale |
| Raja Casablanca | Raja Casablanca | 2 | 0 | 2 | | | | | | | | |
| TP Mazembe | TP Mazembe | 0 | 1 | 1 | Raja Casablanca | Raja Casablanca | 0 | 1 | 1 | | | |
| Zamalek | Zamalek | 3 | 0 | 3 | Zamalek | Zamalek | 1 | 3 | 4 | | | |
| Espérance | Espérance | 1 | 1 | 2 | | | | | | Zamalek | Zamalek | 1 |
| Wydad Casablanca | Wydad Casablanca | 2 | 0 | 2 | | | | | | Al-Ahly | Al-Ahly | 2 |
| Étoile du Sahel | Étoile du Sahel | 0 | 1 | 1 | Wydad Casablanca | Wydad Casablanca | 0 | 1 | 1 | | | |
| Al-Ahly | Al-Ahly | 2 | 1 | 3 | Al-Ahly | Al-Ahly | 2 | 3 | 5 | | | |
| M. Sundowns | M. Sundowns | 0 | 1 | 1 | | | | | | | | |

### Quarti di finale

| Squadra 1 | Totale | Squadra 2 | Andata | Ritorno |
| Al-Ahly | 3 - 1 | M. Sundowns | 2 - 0 | 1 - 1 |
| Raja Casablanca | 2 - 1 | TP Mazembe | 2 - 0 | 0 - 1 |
| Zamalek | 3 - 2 | Espérance | 3 - 1 | 0 - 1 |
| Wydad Casablanca | 2 - 1 | Étoile du Sahel | 2 - 0 | 0 - 1 |

### Semifinali

| Squadra 1 | Totale | Squadra 2 | Andata | Ritorno |
| Raja Casablanca | 1 - 4 | Zamalek | 0 - 1 | 1 - 3 |
| Wydad Casablanca | 1 - 5 | Al-Ahly | 0 - 2 | 1 - 3 |

### Finale

| Zamalek | Al-Ahly |
| P | 1 | Mohamed Abougabal |
| D | 23 | Islam Gaber | | 90’ |
| D | 4 | Mahmoud Alaa |
| D | 5 | Mohamed Abdel Ghani |
| D | 14 | Ahmed Eid |
| C | 3 | Tarek Hamed |
| C | 13 | Ferjani Sassi | 90+3’ |
| C | 10 | Mahmoud Shikabala (c) | | 55’ |
| C | 20 | Achraf Bencharki |
| C | 25 | Ahmed Sayed |
| A | 15 | Mostafa Mohamed | 90+6’ |
| A disposizione: ||
| P | 16 | Mahmoud Genesh |
| D | 6 | Mohamed Abdel Salam |
| D | 7 | Hazem Emam |
| A | 2 | Kabongo Kasongo | | 55’ |
| A | 9 | Omar El Said | | 90’ |
| A | 18 | Karim Bambo |
| A | 27 | Mohamed Ounajem |
| Allenatore: ||
| Jaime Pacheco ||
| P | 16 | Mohamed El-Shenawy (c) | 90+5’ |
| D | 21 | Ali Maâloul |
| D | 12 | Ayman Ashraf |
| D | 6 | Yasser Ibrahim |
| D | 30 | Mohamed Hany | 90+4’ |
| C | 8 | Hamdy Fathy |
| C | 17 | Amr El-Soleya | 73’ |
| C | 19 | Mohamed Magdy | 88’ | 90+1’ |
| C | 28 | Junior Ajayi | | 67’ |
| C | 14 | Hussein El Shahat | 90+6’ |
| A | 18 | Marwan Mohsen | | 90+2’ |
| A disposizione: ||
| P | 13 | Ali Lotfi |
| D | 2 | Mahmoud Wahid |
| D | 3 | Ramy Rabia | | 90+1’ |
| C | 22 | Ahmed El Sheikh |
| C | 9 | Aliou Badji |
| A | 26 | Mahmoud Kahraba | | 90+2’ |
| A | 29 | Geraldo | | 67’ |
| Allenatore: ||
| Pitso Mosimane ||