# 2021–22 CAF Champions League qualifying rounds

The 2021–22 CAF Champions League qualifying rounds were played from 10 September to 24 October 2021. A total of 54 teams competed in the qualifying rounds to decide the 16 places in the group stage of the 2021–22 CAF Champions League.
Times are in local times.

## Draw

The draw for the qualifying rounds was held on 13 August 2021 at the CAF headquarters in Cairo, Egypt.
The entry round of the 54 teams entered into the draw was determined by their performances in the CAF competitions for the previous five seasons (CAF 5-year ranking points shown in parentheses).
| Entry round | Second round (10 teams) | First round (44 teams) |
| Teams | Al Ahly (78 pts) Espérance de Tunis (65 pts) Wydad AC (63 pts) Raja Casablanca (54 pts) Zamalek (47 pts) Mamelodi Sundowns (46 pts) TP Mazembe (45 pts) Horoya (38 pts) Étoile du Sahel (36 pts) Simba (24 pts) | Al Hilal (21 pts) CR Belouizdad (15 pts) Petro de Luanda (14.5 pts) ES Sétif (13 pts) ZESCO United (11.5 pts) Zanaco (10 pts) Al Merrikh (7 pts) FC Platinum (7 pts) ASEC Mimosas (5 pts) Teungueth (5 pts) ESAE (2 pts) FC Nouadhibou (2 pts) UD Songo (2 pts) AS Otohô (1.5 pts) Young Africans (1 pt) Rivers United (0.5 pt) Sagrada Esperança Jwaneng Galaxy AS SONABEL Le Messager Ngozi Fovu de Baham DFC 8ème AS Maniema Union Arta/Solar7 Akonangui Royal Leopards Fasil Kenema AS Bouenguidi Fortune FC Hearts of Oak CI Kamsar Tusker LPRC Oilers Al Ittihad Nyasa Big Bullets Stade Malien Akwa United USGN APR Mogadishu City AmaZulu ASKO Kara Express KMKM |

## Format

In the qualifying rounds, each tie was played on a home-and-away two-legged basis. If the aggregate score is tied after the second leg, the away goals rule was applied, and if still tied, extra time won't be played, and the penalty shoot-out was used to determine the winner (Regulations III. 13 & 14).

## Schedule

The schedule of the competition was as follows.
| Round | First leg | Second leg |
| First round | 10–12 September 2021 | 17–19 September 2021 |
| Second round | 15–17 October 2021 | 22–24 October 2021 |

## Bracket

The bracket of the draw was announced by the CAF on 13 August 2021.
The 16 winners of the second round advanced to the group stage, while the 16 losers of the second round entered the Confederation Cup play-off round.
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | CI Kamsar | – | 0 | 0 | | | | | |
| 4 | Hearts of Oak | – | 2 | 2 | | | | | |
| 4 | Hearts of Oak | – | 2 | 2 | Hearts of Oak | Hearts of Oak | 1 | 1 | 2 |
| | | | | | Wydad AC | Wydad AC | 0 | 6 | 6 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | LPRC Oilers | 3 | 1 | 4 | | | | | |
| 4 | ASKO Kara | 0 | 2 | 2 | | | | | |
| 4 | ASKO Kara | 0 | 2 | 2 | LPRC Oilers | LPRC Oilers | 0 | 0 | 0 |
| | | | | | Raja Casablanca | Raja Casablanca | 2 | 2 | 4 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | AS SONABEL | 0 | 0 | 0 | | | | | |
| 4 | Stade Malien | 1 | 3 | 4 | | | | | |
| 4 | Stade Malien | 1 | 3 | 4 | Stade Malien | Stade Malien | 0 | 1 | 1 |
| | | | | | Horoya | Horoya | 1 | 2 | 3 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | USGN | 1 | 1 | 2 | | | | | |
| 4 | Le Messager Ngozi | 1 | 0 | 1 | | | | | |
| 4 | Le Messager Ngozi | 1 | 0 | 1 | USGN | USGN | 1 | 1 | 2 |
| | | | | | Al Ahly | Al Ahly | 1 | 6 | 7 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | KMKM | 0 | 0 | 0 | | | | | |
| 4 | Al Ittihad | 2 | 2 | 4 | | | | | |
| 4 | Al Ittihad | 2 | 2 | 4 | Al Ittihad | Al Ittihad | 0 | 0 | 0 |
| | | | | | Espérance de Tunis | Espérance de Tunis | 0 | 1 | 1 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Arta/Solar7 | 1 | 0 | 1 | | | | | |
| 4 | Tusker | 1 | 3 | 4 | | | | | |
| 4 | Tusker | 1 | 3 | 4 | Tusker | Tusker | 0 | 0 | 0 |
| | | | | | Zamalek | Zamalek | 1 | 4 | 5 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Mogadishu City | 0 | 1 | 1 | | | | | |
| 4 | APR | 0 | 2 | 2 | | | | | |
| 4 | APR | 0 | 2 | 2 | APR | APR | 1 | 0 | 1 |
| | | | | | Étoile du Sahel | Étoile du Sahel | 1 | 4 | 5 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | AS Bouenguidi | 1 | 0 | 1 | | | | | |
| 4 | AS Maniema Union | 1 | 2 | 3 | | | | | |
| 4 | AS Maniema Union | 1 | 2 | 3 | AS Maniema Union | AS Maniema Union | 2 | 0 | 2 |
| | | | | | Mamelodi Sundowns | Mamelodi Sundowns | 2 | 2 | 4 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | AmaZulu | 0 | 3 | 3 | | | | | |
| 4 | Nyasa Big Bullets | 1 | 1 | 2 | | | | | |
| 4 | Nyasa Big Bullets | 1 | 1 | 2 | AmaZulu (a) | AmaZulu (a) | 0 | 1 | 1 |
| | | | | | TP Mazembe | TP Mazembe | 0 | 1 | 1 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Jwaneng Galaxy | 2 | 0 | 2 | | | | | |
| 4 | DFC 8ème | 0 | 1 | 1 | | | | | |
| 4 | DFC 8ème | 0 | 1 | 1 | Jwaneng Galaxy (a) | Jwaneng Galaxy (a) | 0 | 3 | 3 |
| | | | | | Simba | Simba | 2 | 1 | 3 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Young Africans | 0 | 0 | 0 | | | | | |
| 4 | Rivers United | 1 | 1 | 2 | | | | | |
| 4 | Rivers United | 1 | 1 | 2 | Rivers United | Rivers United | 1 | 0 | 1 |
| | | | | | Al Hilal | Al Hilal | 1 | 1 | 2 |
| 3 | Fasil Kenema | 2 | 1 | 3 | Al Hilal | Al Hilal | 1 | 1 | 2 |
| 2 | Al Hilal (a) | 2 | 1 | 3 | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Teungueth | 0 | 0 | 0 | | | | | |
| 4 | ASEC Mimosas | 1 | 1 | 2 | | | | | |
| 4 | ASEC Mimosas | 1 | 1 | 2 | ASEC Mimosas | ASEC Mimosas | 3 | 0 | 3 |
| | | | | | CR Belouizdad (a) | CR Belouizdad (a) | 1 | 2 | 3 |
| 3 | Akwa United | 1 | 0 | 1 | CR Belouizdad (a) | CR Belouizdad (a) | 1 | 2 | 3 |
| 2 | CR Belouizdad | 0 | 2 | 2 | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | UD Songo | 1 | 0 | 1 (3) | | | | | |
| 4 | AS Otohô (p) | 0 | 1 | 1 (4) | | | | | |
| 4 | AS Otohô (p) | 0 | 1 | 1 (4) | AS Otohô | AS Otohô | 2 | 0 | 2 |
| | | | | | Petro de Luanda | Petro de Luanda | 2 | 2 | 4 |
| 3 | Fovu de Baham | 2 | 0 | 2 | Petro de Luanda | Petro de Luanda | 2 | 2 | 4 |
| 2 | Petro de Luanda (a) | 2 | 0 | 2 | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | ESAE | 1 | 0 | 1 | | | | | |
| 4 | FC Nouadhibou | 1 | 2 | 3 | | | | | |
| 4 | FC Nouadhibou | 1 | 2 | 3 | FC Nouadhibou | FC Nouadhibou | 3 | 0 | 3 |
| | | | | | ES Sétif (a) | ES Sétif (a) | 1 | 2 | 3 |
| 3 | Fortune FC | 3 | 0 | 3 (4) | ES Sétif (a) | ES Sétif (a) | 1 | 2 | 3 |
| 2 | ES Sétif (p) | 0 | 3 | 3 (5) | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Sagrada Esperança (p) | 0 | 0 | 0 (5) | | | | | |
| 4 | FC Platinum | 0 | 0 | 0 (4) | | | | | |
| 4 | FC Platinum | 0 | 0 | 0 (4) | Sagrada Esperança | Sagrada Esperança | 3 | 0 | 3 |
| | | | | | Royal Leopards | Royal Leopards | 1 | 1 | 2 |
| 3 | Royal Leopards (a) | 1 | 1 | 2 | Royal Leopards | Royal Leopards | 1 | 1 | 2 |
| 2 | ZESCO United | 0 | 2 | 2 | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Express | 2 | 0 | 2 | | | | | |
| 4 | Al Merrikh (a) | 1 | 1 | 2 | | | | | |
| 4 | Al Merrikh (a) | 1 | 1 | 2 | Al Merrikh | Al Merrikh | 3 | 1 | 4 |
| | | | | | Zanaco | Zanaco | 0 | 2 | 2 |
| 3 | Akonangui | 0 | 0 | 0 | Zanaco | Zanaco | 0 | 2 | 2 |
| 2 | Zanaco | 2 | 1 | 3 | | | | | |

## First round

The first round, also called the first preliminary round, included the 44 teams that did not receive byes to the second round.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| CI Kamsar | 0–2 | Hearts of Oak | | |
| LPRC Oilers | 4–2 | ASKO Kara | 3–0 | 1–2 |
| AS SONABEL | 0–4 | Stade Malien | 0–1 | 0–3 |
| USGN | 2–1 | Le Messager Ngozi | 1–1 | 1–0 |
| KMKM | 0–4 | Al Ittihad | 0–2 | 0–2 |
| Arta/Solar7 | 1–4 | Tusker | 1–1 | 0–3 |
| Mogadishu City | 1–2 | APR | 0–0 | 1–2 |
| AS Bouenguidi | 1–3 | AS Maniema Union | 1–1 | 0–2 |
| AmaZulu | 3–2 | Nyasa Big Bullets | 0–1 | 3–1 |
| Jwaneng Galaxy | 2–1 | DFC 8ème | 2–0 | 0–1 |
| Young Africans | 0–2 | Rivers United | 0–1 | 0–1 |
| Fasil Kenema | 3–3 (a) | Al Hilal | 2–2 | 1–1 |
| Teungueth | 0–2 | ASEC Mimosas | 0–1 | 0–1 |
| Akwa United | 1–2 | CR Belouizdad | 1–0 | 0–2 |
| UD Songo | 1–1 (3–4 p) | AS Otohô | 1–0 | 0–1 |
| Fovu de Baham | 2–2 (a) | Petro de Luanda | 2–2 | 0–0 |
| ESAE | 1–3 | FC Nouadhibou | 1–1 | 0–2 |
| Fortune FC | 3–3 (4–5 p) | ES Sétif | 3–0 | 0–3 |
| Sagrada Esperança | 0–0 (5–4 p) | FC Platinum | 0–0 | 0–0 |
| Royal Leopards | 2–2 (a) | ZESCO United | 1–0 | 1–2 |
| Express | 2–2 (a) | Al Merrikh | 2–1 | 0–1 |
| Akonangui | 0–3 | Zanaco | 0–2 | 0–1 |
Notes:
* ↑ The match involving Guinean clubs were played over a single leg, and not in the Guinean territory due to the political and security situation in Guinea following the 2021 Guinean coup d'état.
LPRC Oilers won 3–2 on aggregate.
Stade Malien won 4–0 on aggregate.
USGN won 2–1 on aggregate.
Al Ittihad won 4–0 on aggregate.
Tusker won 4–1 on aggregate.
APR won 2–1 on aggregate.
AS Maniema Union won 3–1 on aggregate.
AmaZulu won 3–2 on aggregate.
Jwaneng Galaxy won 2–1 on aggregate.
Rivers United won 2–0 on aggregate.
3–3 on aggregate. Al Hilal won on away goals.
ASEC Mimosas won 2–0 on aggregate.
CR Belouizdad won 2–1 on aggregate.
1–1 on aggregate. AS Otohô won 4–3 on penalties.
2–2 on aggregate. Petro de Luanda won on away goals.
FC Nouadhibou won 3–1 on aggregate.
3–3 on aggregate. ES Sétif won 5–4 on penalties.
0–0 on aggregate. Sagrada Esperança won 5–4 on penalties.
2–2 on aggregate. Royal Leopards won on away goals.
2–2 on aggregate. Al Merrikh won on away goals.
Zanaco won 3–0 on aggregate.

## Second round

The second round, also called the second preliminary round, included 32 teams: the 10 teams that received byes to this round, and the 22 winners of the first round.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Hearts of Oak | 2–6 | Wydad AC | 1–0 | 1–6 |
| LPRC Oilers | 0–4 | Raja Casablanca | 0–2 | 0–2 |
| Stade Malien | 1–3 | Horoya | 0–1 | 1–2 |
| USGN | 2–7 | Al Ahly | 1–1 | 1–6 |
| Al Ittihad | 0–1 | Espérance de Tunis | 0–0 | 0–1 |
| Tusker | 0–5 | Zamalek | 0–1 | 0–4 |
| APR | 1–5 | Étoile du Sahel | 1–1 | 0–4 |
| AS Maniema Union | 2–4 | Mamelodi Sundowns | 2–2 | 0–2 |
| AmaZulu | 1–1 (a) | TP Mazembe | 0–0 | 1–1 |
| Jwaneng Galaxy | 3–3 (a) | Simba | 0–2 | 3–1 |
| Rivers United | 1–2 | Al Hilal | 1–1 | 0–1 |
| ASEC Mimosas | 3–3 (a) | CR Belouizdad | 3–1 | 0–2 |
| AS Otohô | 2–4 | Petro de Luanda | 2–2 | 0–2 |
| FC Nouadhibou | 3–3 (a) | ES Sétif | 3–1 | 0–2 |
| Sagrada Esperança | 3–2 | Royal Leopards | 3–1 | 0–1 |
| Al Merrikh | 4–2 | Zanaco | 3–0 | 1–2 |
Wydad AC won 6–2 on aggregate.
Raja Casablanca won 4–0 on aggregate.
Horoya won 3–1 on aggregate.
Al Ahly won 7–2 on aggregate.
Espérance de Tunis won 1–0 on aggregate.
Zamalek won 5–0 on aggregate.
Étoile du Sahel won 5–1 on aggregate.
Mamelodi Sundowns won 4–2 on aggregate.
1–1 on aggregate. AmaZulu won on away goals.
3–3 on aggregate. Jwaneng Galaxy won on away goals.
Al Hilal won 2–1 on aggregate.
3–3 on aggregate. CR Belouizdad won on away goals.
Petro de Luanda won 4–2 on aggregate.
3–3 on aggregate. ES Sétif won on away goals.
Sagrada Esperança won 3–2 on aggregate.
Al Merrikh won 4–2 on aggregate.