# 2023–24 CAF Champions League qualifying rounds

The 2023–24 CAF Champions League qualifying rounds began on 18 August and ended on 2 October 2023. A total of 54 teams competed in the qualifying rounds to decide the 16 places in the group stage of the 2023–24 CAF Champions League.
All times are local.

## Draw

The draw for the qualifying rounds was held on 25 July 2023, 11:00 GMT (14:00 local time, UTC+3), 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 (83 pts) Wydad AC (74 pts) Espérance de Tunis (56 pts) Mamelodi Sundowns (51 pts) CR Belouizdad (36 pts) Pyramids (35 pts) Simba (35 pts) Petro de Luanda (33.5 pts) TP Mazembe (30.5 pts) Horoya (29 pts) | Orlando Pirates (24 pts) Al Hilal (23 pts) ASEC Mimosas (20 pts) Young Africans (20 pts) Étoile du Sahel (20 pts) Coton Sport (16 pts) AS Vita Club (14 pts) Al Ahli Tripoli (12 pts) Al Merrikh (12 pts) ASFAR (10 pts) Enyimba (10 pts) Real Bamako (5 pts) ASKO Kara (5 pts) Vipers (5 pts) AS Otohô (4.5 pts) Primeiro de Agosto (4 pts) Jwaneng Galaxy (4 pts) CS Constantine (3 pts) AS GNN (2 pts) Al Ahly Benghazi (1.5 pts) FC Nouadhibou (1 pt) Coton FC AS Douanes Burkina Faso Bumamuru Djabal Djibouti Telecom Centre Sportif de Bendje Medeama Hafia Dragón Green Mamba Saint George LISCR Nyasa Big Bullets UD Songo African Stars Remo Stars APR Génération Foot Bo Rangers Gaadiidka Salaam FC Bor Power Dynamos KMKM |

## Format

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 a penalty shoot-out was used to determine the winner (Regulations III. 13 & 14).

## Schedule

The schedule of the competition was as follows.
Schedule for the 2023–24 CAF Champions League qualifying rounds :
| Round | Draw date | First leg | Second leg |
| First round | 25 July 2023 | 18–20 August 2023 | 25–27 August 2023 |
| Second round | 25 July 2023 | 15–17 September 2023 | 29 September – 1 October 2023 |

## Bracket

The bracket of the draw was announced by the CAF on 25 July 2023.
The 16 winners of the second round advanced to the group stage.
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Hafia (a) | 0 | 2 | 2 | | | | | |
| 4 | Génération Foot | 0 | 2 | 2 | | | | | |
| 4 | Génération Foot | 0 | 2 | 2 | Hafia | Hafia | 1 | 0 | 1 |
| | | | | | Wydad AC | Wydad AC | 1 | 3 | 4 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | AS GNN | — | — | | | | | | |
| 4 | AS Douanes Burkina Faso | — | — | w/o | | | | | |
| 4 | AS Douanes Burkina Faso | — | — | w/o | AS Douanes Burkina Faso | AS Douanes Burkina Faso | 0 | 0 | 0 |
| | | | | | Espérance de Tunis | Espérance de Tunis | 1 | 0 | 1 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Bo Rangers | 1 | 1 | 2 | | | | | |
| 4 | LISCR | 1 | 0 | 1 | | | | | |
| 4 | LISCR | 1 | 0 | 1 | Bo Rangers | Bo Rangers | 1 | 1 | 2 |
| | | | | | CR Belouizdad | CR Belouizdad | 3 | 3 | 6 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Medeama (p) | 1 | 0 | 1 (3) | | | | | |
| 4 | Remo Stars | 0 | 1 | 1 (2) | | | | | |
| 4 | Remo Stars | 0 | 1 | 1 (2) | Medeama | Medeama | 3 | 1 | 4 |
| | | | | | 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 | KMKM | 1 | 1 | 2 | | | | | |
| 4 | Saint George | 2 | 3 | 5 | | | | | |
| 4 | Saint George | 2 | 3 | 5 | Saint George | Saint George | 0 | 0 | 0 |
| | | | | | Al Ahly | Al Ahly | 3 | 4 | 7 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | APR | 1 | 2 | 3 | | | | | |
| 4 | Gaadiidka | 1 | 0 | 1 | | | | | |
| 4 | Gaadiidka | 1 | 0 | 1 | APR | APR | 0 | 1 | 1 |
| | | | | | Pyramids | Pyramids | 0 | 6 | 6 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Centre Sportif de Bendje | 1 | 1 | 2 | | | | | |
| 4 | Bumamuru | 1 | 5 | 6 | | | | | |
| 4 | Bumamuru | 1 | 5 | 6 | Bumamuru | Bumamuru | 0 | 0 | 0 |
| | | | | | Mamelodi Sundowns | Mamelodi Sundowns | 4 | 2 | 6 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | African Stars | 2 | 0 | 2 | | | | | |
| 4 | Power Dynamos (a) | 1 | 1 | 2 | | | | | |
| 4 | Power Dynamos (a) | 1 | 1 | 2 | Power Dynamos | Power Dynamos | 2 | 1 | 3 |
| | | | | | Simba (a) | Simba (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 | UD Songo | 1 | 1 | 2 | | | | | |
| 4 | Green Mamba | 0 | 1 | 1 | | | | | |
| 4 | Green Mamba | 0 | 1 | 1 | UD Songo | UD Songo | 1 | 1 | 2 |
| | | | | | Petro de Luanda | Petro de Luanda | 2 | 3 | 5 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Dragón | 0 | 0 | 0 | | | | | |
| 4 | Nyasa Big Bullets | 2 | 1 | 3 | | | | | |
| 4 | Nyasa Big Bullets | 2 | 1 | 3 | Nyasa Big Bullets | Nyasa Big Bullets | 0 | 0 | 0 |
| | | | | | TP Mazembe | TP Mazembe | 1 | 4 | 5 |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Al Ahly Benghazi | 4 | 0 | 4 | | | | | |
| 4 | Enyimba | 3 | 0 | 3 | | | | | |
| 4 | Enyimba | 3 | 0 | 3 | Al Ahly Benghazi | Al Ahly Benghazi | 0 | 1 | 1 |
| | | | | | ASEC Mimosas | ASEC Mimosas | 0 | 2 | 2 |
| 3 | Coton FC | 0 | 0 | 0 | ASEC Mimosas | ASEC Mimosas | 0 | 2 | 2 |
| 2 | ASEC Mimosas | 0 | 2 | 2 | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | CS Constantine | 0 | 0 | 0 | | | | | |
| 4 | Étoile du Sahel | 2 | 1 | 3 | | | | | |
| 4 | Étoile du Sahel | 2 | 1 | 3 | Étoile du Sahel | Étoile du Sahel | 1 | 2 | 3 |
| | | | | | ASFAR | ASFAR | 0 | 1 | 1 |
| 3 | ASKO Kara | 0 | 0 | 0 | ASFAR | ASFAR | 0 | 1 | 1 |
| 2 | ASFAR | 1 | 7 | 8 | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Real Bamako | 0 | 2 | 2 | | | | | |
| 4 | Coton Sport | 0 | 0 | 0 | | | | | |
| 4 | Coton Sport | 0 | 0 | 0 | Real Bamako | Real Bamako | 0 | 1 | 1 |
| | | | | | FC Nouadhibou | FC Nouadhibou | 3 | 1 | 4 |
| 3 | FC Nouadhibou | 2 | 0 | 2 | FC Nouadhibou | FC Nouadhibou | 3 | 1 | 4 |
| 2 | Al Ahli Tripoli | 0 | 1 | 1 | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Primeiro de Agosto | 1 | 1 | 2 | | | | | |
| 4 | AS Vita Club | 0 | 1 | 1 | | | | | |
| 4 | AS Vita Club | 0 | 1 | 1 | Primeiro de Agosto | Primeiro de Agosto | 0 | 1 | 1 |
| | | | | | Al Hilal | Al Hilal | 0 | 2 | 2 |
| 3 | Salaam FC Bor | — | — | | Al Hilal | Al Hilal | 0 | 2 | 2 |
| 2 | Al Hilal | — | — | w/o | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | AS Otohô | 1 | 0 | 1 | | | | | |
| 4 | Al Merrikh (a) | 1 | 0 | 1 | | | | | |
| 4 | Al Merrikh (a) | 1 | 0 | 1 | Al Merrikh | Al Merrikh | 0 | 0 | 0 |
| | | | | | Young Africans | Young Africans | 2 | 1 | 3 |
| 3 | Djibouti Telecom | 0 | 1 | 1 | Young Africans | Young Africans | 2 | 1 | 3 |
| 2 | Young Africans | 2 | 5 | 7 | | | | | |
| First round | First round | First round | First round | First round | Second round | Second round | Second round | Second round | Second round |
| 1 | Jwaneng Galaxy | 2 | 1 | 3 | | | | | |
| 4 | Vipers | 0 | 2 | 2 | | | | | |
| 4 | Vipers | 0 | 2 | 2 | Jwaneng Galaxy (p) | Jwaneng Galaxy (p) | 1 | 0 | 1 (5) |
| | | | | | Orlando Pirates | Orlando Pirates | 0 | 1 | 1 (4) |
| 3 | Djabal | 0 | 0 | 0 | Orlando Pirates | Orlando Pirates | 0 | 1 | 1 (4) |
| 2 | Orlando Pirates | 1 | 3 | 4 | | | | | |

## 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 |
| Hafia | 2–2 (a) | Génération Foot | 0–0 | 2–2 |
| AS GNN | w/o | AS Douanes Burkina Faso | — | — |
| Bo Rangers | 2–1 | LISCR | 1–1 | 1–0 |
| Medeama | 1–1 (3–2 p) | Remo Stars | 1–0 | 0–1 |
| KMKM | 2–5 | Saint George | 1–2 | 1–3 |
| APR | 3–1 | Gaadiidka | 1–1 | 2–0 |
| Centre Sportif de Bendje | 2–6 | Bumamuru | 1–1 | 1–5 |
| African Stars | 2–2 (a) | Power Dynamos | 2–1 | 0–1 |
| UD Songo | 2–1 | Green Mamba | 1–0 | 1–1 |
| Dragón | 0–3 | Nyasa Big Bullets | 0–2 | 0–1 |
| Al Ahly Benghazi | 4–3 | Enyimba | 4–3 | 0–0 |
| Coton FC | 0–2 | ASEC Mimosas | 0–0 | 0–2 |
| CS Constantine | 0–3 | Étoile du Sahel | 0–2 | 0–1 |
| ASKO Kara | 0–8 | ASFAR | 0–1 | 0–7 |
| Real Bamako | 2–0 | Coton Sport | 0–0 | 2–0 |
| FC Nouadhibou | 2–1 | Al Ahli Tripoli | 2–0 | 0–1 |
| Primeiro de Agosto | 2–1 | AS Vita Club | 1–0 | 1–1 |
| Salaam FC Bor | w/o | Al Hilal | — | — |
| AS Otohô | 1–1 (a) | Al Merrikh | 1–1 | 0–0 |
| Djibouti Telecom | 1–7 | Young Africans | 0–2 | 1–5 |
| Jwaneng Galaxy | 3–2 | Vipers | 2–0 | 1–2 |
| Djabal | 0–4 | Orlando Pirates | 0–1 | 0–3 |
Notes:
* ↑ AS Douanes Burkina Faso won on a walkover after Niger clubs withdrew from 2023–24 CAF interclub competitions due to the 2023 Nigerien coup d'état.
* ↑ Al Hilal won on a walkover after Salaam FC Bor failed to travel to Morocco.
2–2 on aggregate. Hafia won on away goals.
Bo Rangers won 2–1 on aggregate.
1–1 on aggregate. Medeama won 3–2 on penalties.
Saint George won 5–2 on aggregate.
APR won 3–1 on aggregate.
Bumamuru won 6–2 on aggregate.
2–2 on aggregate. Power Dynamos won on away goals.
UD Songo won 2–1 on aggregate.
Nyasa Big Bullets won 3–0 on aggregate.
Al Ahly Benghazi won 4–3 on aggregate.
ASEC Mimosas won 2–0 on aggregate.
Étoile du Sahel won 3–0 on aggregate.
ASFAR won 8–0 on aggregate.
Real Bamako won 2–0 on aggregate.
FC Nouadhibou won 2–1 on aggregate.
Primeiro de Agosto won 2–1 on aggregate.
1–1 on aggregate. Al Merrikh won on away goals.
Young Africans won 7–1 on aggregate.
Jwaneng Galaxy won 3–2 on aggregate.
Orlando Pirates won 4–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 |
| Hafia | 1–4 | Wydad AC | 1–1 | 0–3 |
| AS Douanes Burkina Faso | 0–1 | Espérance de Tunis | 0–1 | 0–0 |
| Bo Rangers | 2–6 | CR Belouizdad | 1–3 | 1–3 |
| Medeama | 4–3 | Horoya | 3–1 | 1–2 |
| Saint George | 0–7 | Al Ahly | 0–3 | 0–4 |
| APR | 1–6 | Pyramids | 0–0 | 1–6 |
| Bumamuru | 0–6 | Mamelodi Sundowns | 0–4 | 0–2 |
| Power Dynamos | 3–3 (a) | Simba | 2–2 | 1–1 |
| UD Songo | 2–5 | Petro de Luanda | 1–2 | 1–3 |
| Nyasa Big Bullets | 0–5 | TP Mazembe | 0–1 | 0–4 |
| Al Ahly Benghazi | 1–2 | ASEC Mimosas | 0–0 | 1–2 |
| Étoile du Sahel | 3–1 | ASFAR | 1–0 | 2–1 |
| Real Bamako | 1–4 | FC Nouadhibou | 0–3 | 1–1 |
| Primeiro de Agosto | 1–2 | Al Hilal | 0–0 | 1–2 |
| Al Merrikh | 0–3 | Young Africans | 0–2 | 0–1 |
| Jwaneng Galaxy | 1–1 (5–4 p) | Orlando Pirates | 1–0 | 0–1 |
Wydad AC won 4–1 on aggregate.
Espérance de Tunis won 1–0 on aggregate.
CR Belouizdad won 6–2 on aggregate.
Medeama won 4–3 on aggregate.
Al Ahly won 7–0 on aggregate.
Pyramids won 6–1 on aggregate.
Mamelodi Sundowns won 6–0 on aggregate.
3–3 on aggregate. Simba won on away goals.
Petro de Luanda won 5–2 on aggregate.
TP Mazembe won 5–0 on aggregate.
ASEC Mimosas won 2–1 on aggregate.
Étoile du Sahel won 3–1 on aggregate.
FC Nouadhibou won 4–1 on aggregate.
Al Hilal won 2–1 on aggregate.
Young Africans won 3–0 on aggregate.
1–1 on aggregate. Jwaneng Galaxy won 5–4 on penalties.