# 2018–19 CAF Champions League qualifying rounds

The 2018–19 CAF Champions League qualifying rounds were played from 27 November to 23 December 2018. A total of 56 teams competed in the qualifying rounds to decide 15 of the 16 places in the group stage of the 2018–19 CAF Champions League.

## Draw

The draw for the preliminary round and first round was held on 3 November 2018 in Rabat, Morocco, and was officially announced by the CAF on 9 November due to a special situation with the transitional calendar.
The entry round of the 56 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 | First round (4 teams) | Preliminary round (52 teams) |
| Teams | TP Mazembe (66 pts) Al-Ahly (62 pts) Wydad AC (51 pts) AS Vita Club (29 pts) | Mamelodi Sundowns (40 pts) ZESCO United (30 pts) 1º de Agosto (20 pts) Horoya (19 pts) Al-Hilal (16.5 pts) Al-Merrikh (16 pts) Club Africain (12 pts) Mbabane Swallows (9 pts) ASEC Mimosas (8.5 pts) Orlando Pirates (8 pts) Coton Sport (7 pts) Township Rollers (5 pts) Gor Mahia (5 pts) UD Songo (5 pts) Stade Malien (2 pts) Al-Ahly Benghazi (1 pt) Nkana (1 pt) Ismaily Ittihad Tanger CS Constantine JS Saoura Al-Nasr UMS de Loum SC Gagnoa Jimma Aba Jifar Lobi Stars AS Otohô Vipers FC Platinum Simba Le Messager Ngozi ASF Bobo Dioulasso Stade Centrafricaine Elect-Sport Volcan Club ASAS Djibouti Télécom Leones Vegetarianos AS Mangasport GAMTEL Bantu Barrack Young Controllers CNaPS Sport Nyasa Big Bullets FC Nouadhibou African Stars AS SONIDEP APR ASC Diaraf Light Stars Al-Hilal Wau US Koroki JKU |

## 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 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).

## Schedule

The schedule of each round was as follows (matches scheduled in midweek in italics).
| Round | First leg | Second leg |
| Preliminary round | 27–28 November 2018 | 4–5 December 2018 |
| First round | 14–16 December 2018 | 21–23 December 2018 |

## Bracket

The bracket of the draw was announced by the CAF on 9 November 2018.
The 15 winners of the first round advanced to the group stage to join Espérance de Tunis, who received a bye to the group stage as the title holders, while the 15 losers of the first round entered the Confederation Cup play-off round.
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | Wydad AC | | | Bye | | | | | |
| 4 | | | | | | | | | |
| 4 | | | | | Wydad AC | Wydad AC | 2 | 1 | 3 (a) |
| | | | | | ASC Diaraf | ASC Diaraf | 0 | 3 | 3 (a) |
| 3 | ASC Diaraf | 1 | 0 | 1 (4 p) | ASC Diaraf | ASC Diaraf | 0 | 3 | 3 (a) |
| 2 | US Koroki | 0 | 1 | 1 (2 p) | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | JS Saoura | 2 | 0 | 2 | | | | | |
| 4 | SC Gagnoa | 0 | 0 | 0 | | | | | |
| 4 | SC Gagnoa | 0 | 0 | 0 | JS Saoura | JS Saoura | 2 | 0 | 2 |
| | | | | | Ittihad Tanger | Ittihad Tanger | 0 | 1 | 1 |
| 3 | Ittihad Tanger | 1 | 0 | 1 | Ittihad Tanger | Ittihad Tanger | 0 | 1 | 1 |
| 2 | Elect-Sport | 0 | 0 | 0 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | Le Messager Ngozi | 0 | 1 | 1 | | | | | |
| 4 | Ismaily | 1 | 2 | 3 | | | | | |
| 4 | Ismaily | 1 | 2 | 3 | Ismaily | Ismaily | 2 | 1 | 3 |
| | | | | | Coton Sport | Coton Sport | 0 | 2 | 2 |
| 3 | ASF Bobo Dioulasso | 3 | 1 | 4 (3 p) | Coton Sport | Coton Sport | 0 | 2 | 2 |
| 2 | Coton Sport | 1 | 3 | 4 (5 p) | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | TP Mazembe | | | Bye | | | | | |
| 4 | | | | | | | | | |
| 4 | | | | | TP Mazembe | TP Mazembe | 1 | 1 | 2 |
| | | | | | ZESCO United | ZESCO United | 0 | 1 | 1 |
| 3 | AS SONIDEP | 1 | 0 | 1 | ZESCO United | ZESCO United | 0 | 1 | 1 |
| 2 | ZESCO United | 2 | 3 | 5 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | Orlando Pirates | 5 | 3 | 8 | | | | | |
| 4 | Light Stars | 1 | 1 | 2 | | | | | |
| 4 | Light Stars | 1 | 1 | 2 | Orlando Pirates | Orlando Pirates | 0 | 1 | 1 |
| | | | | | African Stars | African Stars | 0 | 0 | 0 |
| 3 | Volcan Club | 0 | 1 | 1 | African Stars | African Stars | 0 | 0 | 0 |
| 2 | African Stars | 0 | 2 | 2 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | FC Nouadhibou | 2 | 0 | 2 | | | | | |
| 4 | Al-Ahly Benghazi | 1 | 2 | 3 | | | | | |
| 4 | Al-Ahly Benghazi | 1 | 2 | 3 | Al-Ahly Benghazi | Al-Ahly Benghazi | 0 | 0 | 0 |
| | | | | | Mamelodi Sundowns | Mamelodi Sundowns | 0 | 4 | 4 |
| 3 | Leones Vegetarianos | 0 | 1 | 1 | Mamelodi Sundowns | Mamelodi Sundowns | 0 | 4 | 4 |
| 2 | Mamelodi Sundowns | 2 | 5 | 7 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | Gor Mahia | 1 | 0 | 1 (4 p) | | | | | |
| 4 | Big Bullets | 0 | 1 | 1 (3 p) | | | | | |
| 4 | Big Bullets | 0 | 1 | 1 (3 p) | Gor Mahia | Gor Mahia | 3 | 0 | 3 (a) |
| | | | | | Lobi Stars | Lobi Stars | 1 | 2 | 3 (a) |
| 3 | UMS de Loum | 1 | 0 | 1 | Lobi Stars | Lobi Stars | 1 | 2 | 3 (a) |
| 2 | Lobi Stars | 0 | 2 | 2 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | UD Songo | 1 | 0 | 1 | | | | | |
| 4 | Nkana | 2 | 1 | 3 | | | | | |
| 4 | Nkana | 2 | 1 | 3 | Nkana | Nkana | 2 | 1 | 3 |
| | | | | | Simba | Simba | 1 | 3 | 4 |
| 3 | Simba | 4 | 4 | 8 | Simba | Simba | 1 | 3 | 4 |
| 2 | Mbabane Swallows | 1 | 0 | 1 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | Al-Ahly | | | Bye | | | | | |
| 4 | | | | | | | | | |
| 4 | | | | | Al-Ahly | Al-Ahly | 2 | 0 | 2 |
| | | | | | Jimma Aba Jifar | Jimma Aba Jifar | 0 | 1 | 1 |
| 3 | ASAS Djibouti Télécom | 1 | 2 | 3 | Jimma Aba Jifar | Jimma Aba Jifar | 0 | 1 | 1 |
| 2 | Jimma Aba Jifar | 3 | 2 | 5 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | CS Constantine | 0 | 1 | 1 | | | | | |
| 4 | GAMTEL | 0 | 0 | 0 | | | | | |
| 4 | GAMTEL | 0 | 0 | 0 | CS Constantine | CS Constantine | 1 | 2 | 3 |
| | | | | | Vipers | Vipers | 0 | 0 | 0 |
| 3 | Al-Merrikh | 2 | 0 | 2 (a) | Vipers | Vipers | 0 | 0 | 0 |
| 2 | Vipers | 1 | 1 | 2 (a) | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | Stade Centrafricaine | 0 | 0 | 0 | | | | | |
| 4 | Stade Malien | 1 | 4 | 5 | | | | | |
| 4 | Stade Malien | 1 | 4 | 5 | Stade Malien | Stade Malien | 0 | 0 | 0 |
| | | | | | ASEC Mimosas | ASEC Mimosas | 1 | 1 | 2 |
| 3 | ASEC Mimosas | 1 | 0 | 1 | ASEC Mimosas | ASEC Mimosas | 1 | 1 | 2 |
| 2 | AS Mangasport | 0 | 0 | 0 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | AS Vita Club | | | Bye | | | | | |
| 4 | | | | | | | | | |
| 4 | | | | | AS Vita Club | AS Vita Club | 4 | 1 | 5 |
| | | | | | Bantu | Bantu | 1 | 1 | 2 |
| 3 | Township Rollers | 1 | 1 | 2 (2 p) | Bantu | Bantu | 1 | 1 | 2 |
| 2 | Bantu | 1 | 1 | 2 (4 p) | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | APR | 0 | 1 | 1 | | | | | |
| 4 | Club Africain | 0 | 3 | 3 | | | | | |
| 4 | Club Africain | 0 | 3 | 3 | Club Africain | Club Africain | 3 | 0 | 3 |
| | | | | | Al-Hilal | Al-Hilal | 1 | 1 | 2 |
| 3 | Al-Hilal | 4 | 2 | 6 | Al-Hilal | Al-Hilal | 1 | 1 | 2 |
| 2 | JKU | 0 | 0 | 0 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | Al-Nasr | 5 | 4 | 9 | | | | | |
| 4 | Al-Hilal Wau | 1 | 2 | 3 | | | | | |
| 4 | Al-Hilal Wau | 1 | 2 | 3 | Al-Nasr | Al-Nasr | 3 | 2 | 5 |
| | | | | | Horoya | Horoya | 0 | 6 | 6 |
| 3 | Horoya | 1 | 1 | 2 | Horoya | Horoya | 0 | 6 | 6 |
| 2 | Barrack Young Controllers | 0 | 0 | 0 | | | | | |
| Preliminary round | Preliminary round | Preliminary round | Preliminary round | Preliminary round | First round | First round | First round | First round | First round |
| 1 | 1º de Agosto | 4 | 0 | 4 (a) | | | | | |
| 4 | AS Otohô | 2 | 2 | 4 (a) | | | | | |
| 4 | AS Otohô | 2 | 2 | 4 (a) | AS Otohô | AS Otohô | 1 | 0 | 1 (a) |
| | | | | | FC Platinum | FC Platinum | 1 | 0 | 1 (a) |
| 3 | CNaPS Sport | 1 | 0 | 1 | FC Platinum | FC Platinum | 1 | 0 | 1 (a) |
| 2 | FC Platinum | 1 | 1 | 2 | | | | | |

## Preliminary round

The preliminary round included the 54 teams that did not receive byes to the first round.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| ASC Diaraf | 1–1 (4–2 p) | US Koroki | 1–0 | 0–1 |
| JS Saoura | 2–0 | SC Gagnoa | 2–0 | 0–0 |
| Ittihad Tanger | 1–0 | Elect-Sport | 1–0 | 0–0 |
| Le Messager Ngozi | 1–3 | Ismaily | 0–1 | 1–2 |
| ASF Bobo Dioulasso | 4–4 (3–5 p) | Coton Sport | 3–1 | 1–3 |
| AS SONIDEP | 1–5 | ZESCO United | 1–2 | 0–3 |
| Orlando Pirates | 8–2 | Light Stars | 5–1 | 3–1 |
| Volcan Club | 1–2 | African Stars | 0–0 | 1–2 |
| FC Nouadhibou | 2–3 | Al-Ahly Benghazi | 2–1 | 0–2 |
| Leones Vegetarianos | 1–7 | Mamelodi Sundowns | 0–2 | 1–5 |
| Gor Mahia | 1–1 (4–3 p) | Nyasa Big Bullets | 1–0 | 0–1 |
| UMS de Loum | 1–2 | Lobi Stars | 1–0 | 0–2 |
| UD Songo | 1–3 | Nkana | 1–2 | 0–1 |
| Simba | 8–1 | Mbabane Swallows | 4–1 | 4–0 |
| ASAS Djibouti Télécom | 3–5 | Jimma Aba Jifar | 1–3 | 2–2 |
| CS Constantine | 1–0 | GAMTEL | 0–0 | 1–0 |
| Al-Merrikh | 2–2 (a) | Vipers | 2–1 | 0–1 |
| Stade Centrafricaine | 0–5 | Stade Malien | 0–1 | 0–4 |
| ASEC Mimosas | 1–0 | AS Mangasport | 1–0 | 0–0 |
| Township Rollers | 2–2 (2–4 p) | Bantu | 1–1 | 1–1 |
| APR | 1–3 | Club Africain | 0–0 | 1–3 |
| Al-Hilal | 6–0 | JKU | 4–0 | 2–0 |
| Al-Nasr | 9–3 | Al-Hilal Wau | 5–1 | 4–2 |
| Horoya | 2–0 | Barrack Young Controllers | 1–0 | 1–0 |
| 1º de Agosto | 4–4 (a) | AS Otohô | 4–2 | 0–2 |
| CNaPS Sport | 1–2 | FC Platinum | 1–1 | 0–1 |
1–1 on aggregate. ASC Diaraf won 4–2 on penalties.
JS Saoura won 2–0 on aggregate.
Ittihad Tanger won 1–0 on aggregate.
Ismaily won 3–1 on aggregate.
4–4 on aggregate. Coton Sport won 5–3 on penalties.
ZESCO United won 5–1 on aggregate.
Orlando Pirates won 8–2 on aggregate.
African Stars won 2–1 on aggregate.
Al-Ahly Benghazi won 3–2 on aggregate.
Mamelodi Sundowns won 7–1 on aggregate.
1–1 on aggregate. Gor Mahia won 4–3 on penalties.
Lobi Stars won 2–1 on aggregate.
Nkana won 3–1 on aggregate.
Simba won 8–1 on aggregate.
Jimma Aba Jifar won 5–3 on aggregate.
CS Constantine won 1–0 on aggregate.
2–2 on aggregate. Vipers won on away goals.
Stade Malien won 5–0 on aggregate.
ASEC Mimosas won 1–0 on aggregate.
2–2 on aggregate. Bantu won 4–2 on penalties.
Club Africain won 3–1 on aggregate.
Al-Hilal won 6–0 on aggregate.
Al-Nasr won 9–3 on aggregate.
Horoya won 2–0 on aggregate.
4–4 on aggregate. AS Otohô won on away goals.
FC Platinum won 2–1 on aggregate.

## First round

The first round included 30 teams: the 4 teams that received byes to this round, and the 26 winners of the preliminary round.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Wydad AC | 3–3 (a) | ASC Diaraf | 2–0 | 1–3 |
| JS Saoura | 2–1 | Ittihad Tanger | 2–0 | 0–1 |
| Ismaily | 3–2 | Coton Sport | 2–0 | 1–2 |
| TP Mazembe | 2–1 | ZESCO United | 1–0 | 1–1 |
| Orlando Pirates | 1–0 | African Stars | 0–0 | 1–0 |
| Al-Ahly Benghazi | 0–4 | Mamelodi Sundowns | 0–0 | 0–4 |
| Gor Mahia | 3–3 (a) | Lobi Stars | 3–1 | 0–2 |
| Nkana | 3–4 | Simba | 2–1 | 1–3 |
| Al-Ahly | 2–1 | Jimma Aba Jifar | 2–0 | 0–1 |
| CS Constantine | 3–0 | Vipers | 1–0 | 2–0 |
| Stade Malien | 0–2 | ASEC Mimosas | 0–1 | 0–1 |
| AS Vita Club | 5–2 | Bantu | 4–1 | 1–1 |
| Club Africain | 3–2 | Al-Hilal | 3–1 | 0–1 |
| Al-Nasr | 5–6 | Horoya | 3–0 | 2–6 |
| AS Otohô | 1–1 (a) | FC Platinum | 1–1 | 0–0 |
3–3 on aggregate. Wydad AC won on away goals.
JS Saoura won 2–1 on aggregate.
Ismaily won 3–2 on aggregate.
TP Mazembe won 2–1 on aggregate.
Orlando Pirates won 1–0 on aggregate.
Mamelodi Sundowns won 4–0 on aggregate.
3–3 on aggregate. Lobi Stars won on away goals.
Simba won 4–3 on aggregate.
Al-Ahly won 2–1 on aggregate.
CS Constantine won 3–0 on aggregate.
ASEC Mimosas won 2–0 on aggregate.
AS Vita Club won 5–2 on aggregate.
Club Africain won 3–2 on aggregate.
Horoya won 6–5 on aggregate.
1–1 on aggregate. FC Platinum won on away goals.