# 2016 CAF Champions League

The 2016 CAF Champions League (officially the 2016 Orange CAF Champions League for sponsorship reasons) was the 52nd edition of Africa's premier club football tournament organized by the Confederation of African Football (CAF), and the 20th edition under the current CAF Champions League format.
Mamelodi Sundowns defeated Zamalek in the final to win their first CAF Champions League title, and qualified as the CAF representative at the 2016 FIFA Club World Cup in Japan, their first appearance in the FIFA Club World Cup, and also earned the right to play against the winners of the 2016 CAF Confederation Cup in the 2017 CAF Super Cup. TP Mazembe were the defending champions, but were eliminated in the second round. As of 2023, this is the most recent edition of the tournament won by a team from a non-Arab country.

## Association team allocation

All 56 CAF member associations might enter the CAF Champions League, with the 12 highest ranked associations according to their CAF 5-year ranking eligible to enter two teams in the competition. The title holders could also enter. As a result, theoretically a maximum of 69 teams could enter the tournament – although this level had never been reached.
For the 2016 CAF Champions League, the CAF used the 2010–2014 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 |
| Winner | 5 points | 4 points |
| Runner-up | 4 points | 3 points |
| Losing semi-finalists | 3 points | 2 points |
| 3rd place in groups | 2 points | 1 point |
| 4th place in groups | 1 point | 1 point |
The points are multiplied by a coefficient according to the year as follows:
* 2014 – 5
* 2013 – 4
* 2012 – 3
* 2011 – 2
* 2010 – 1

## Teams

The following 55 teams from 43 associations entered the competition.
Teams in bold received a bye to the first round. The other teams entered the preliminary round.
Associations are shown according to their 2010–2014 CAF 5-year ranking – those with a ranking score have their rank and score indicated.
| Association | Team | Qualifying method |
| Associations eligible to enter two teams (Ranked 1–12) |||
| Tunisia (1st – 105 pts) | Club Africain | 2014–15 Tunisian Ligue Professionnelle 1 champion |
| Tunisia (1st – 105 pts) | Étoile du Sahel | 2014–15 Tunisian Ligue Professionnelle 1 runner-up |
| Egypt (2nd – 81 pts) | Zamalek | 2014–15 Egyptian Premier League champion |
| Egypt (2nd – 81 pts) | Al-Ahly | 2014–15 Egyptian Premier League runner-up |
| DR Congo (3rd – 63 pts) | AS Vita Club | 2014–15 Linafoot champion |
| DR Congo (3rd – 63 pts) | TP Mazembe | Title holders (2015 CAF Champions League winner) 2014–15 Linafoot runner-up |
| Algeria (4th – 44 pts) | ES Sétif | 2014–15 Algerian Ligue Professionnelle 1 champion |
| Algeria (4th – 44 pts) | MO Béjaïa | 2014–15 Algerian Ligue Professionnelle 1 runner-up |
| Sudan (5th – 33 pts) | Al-Merrikh | 2015 Sudan Premier League champion |
| Sudan (5th – 33 pts) | Al-Hilal | 2015 Sudan Premier League runner-up |
| Ivory Coast (6th – 30 pts) | AS Tanda | 2014–15 Côte d'Ivoire Ligue 1 champion |
| Ivory Coast (6th – 30 pts) | ASEC Mimosas | 2014–15 Côte d'Ivoire Ligue 1 runner-up |
| Morocco (7th – 29 pts) | Wydad AC | 2014–15 Botola champion |
| Morocco (7th – 29 pts) | Olympique Khouribga | 2014–15 Botola runner-up |
| Cameroon (T-8th – 26 pts) | Coton Sport | 2015 Elite One champion |
| Cameroon (T-8th – 26 pts) | Union Douala | 2015 Elite One runner-up |
| Congo (T-8th – 26 pts) | AC Léopards | 2015 Congo Premier League first place before abandoned |
| Congo (T-8th – 26 pts) | Étoile du Congo | 2015 Congo Premier League second place before abandoned |
| Mali (T-8th – 26 pts) | Stade Malien | 2014–15 Malian Première Division champion |
| Mali (T-8th – 26 pts) | Onze Créateurs | 2014–15 Malian Première Division runner-up |
| Nigeria (11th – 22 pts) | Enyimba | 2015 Nigeria Professional Football League champion |
| Nigeria (11th – 22 pts) | Warri Wolves | 2015 Nigeria Professional Football League runner-up |
| South Africa (12th – 16 pts) | Kaizer Chiefs | 2014–15 South African Premier Division champion |
| South Africa (12th – 16 pts) | Mamelodi Sundowns | 2014–15 South African Premier Division runner-up |
| Associations eligible to enter one team |||
| Angola (13th – 11 pts) | Recreativo do Libolo | 2015 Girabola champion |
| Libya (14th – 7 pts) | Al-Ahli Tripoli | 2013–14 Libyan Premier League champion (no league in 2015) |
| Ghana (T-15th – 6 pts) | Ashanti Gold | 2015 Ghanaian Premier League champion |
| Zambia (T-15th – 6 pts) | ZESCO United | 2015 Zambian Premier League champion |
| Ethiopia (17th – 4 pts) | Saint George | 2014–15 Ethiopian Premier League champion |
| Niger (T-18th – 1 pt) | AS Douanes Niamey | 2014–15 Niger Premier League champion |
| Zimbabwe (T-18th – 1 pt) | Chicken Inn | 2015 Zimbabwe Premier Soccer League champion |
| Botswana | Centre Chiefs | 2014–15 Botswana Premier League champion |
| Burkina Faso | RC Bobo Dioulasso | 2014–15 Burkinabé Premier League champion |
| Burundi | Vital'O | 2014–15 Burundi Premier League champion |
| Chad | AS CotonTchad | 2015 Chad Premier League runner-up |
| Comoros | Volcan Club | 2015 Comoros Premier League champion |
| Equatorial Guinea | Racing de Micomeseng | 2015 Equatoguinean Premier League champion |
| Gabon | AS Mangasport | 2015 Gabon Championnat National D1 champion |
| Gambia | Gamtel | 2014–15 GFA League First Division champion |
| Guinea | Horoya | 2014–15 Guinée Championnat National champion |
| Kenya | Gor Mahia | 2015 Kenyan Premier League champion |
| Lesotho | Lioli | 2014–15 Lesotho Premier League champion |
| Liberia | Nimba United | 2015 Liberian First Division League champion |
| Madagascar | CNaPS Sport | 2015 THB Champions League champion |
| Mauritius | Cercle de Joachim | 2014–15 Mauritian League champion |
| Mozambique | Ferroviário Maputo | 2015 Moçambola champion |
| Rwanda | APR | 2014–15 Rwanda National Football League champion |
| São Tomé and Príncipe | Sporting Praia Cruz | 2015 São Tomé and Príncipe Championship champion |
| Senegal | AS Douanes Dakar | 2014–15 Senegal Premier League champion |
| Seychelles | St Michel United | 2015 Seychelles First Division champion |
| South Sudan | Al-Ghazal | 2015 South Sudan Football Championship runner-up |
| Swaziland | Mbabane Swallows | 2014–15 Swazi Premier League runner-up |
| Tanzania | Young Africans | 2014–15 Tanzanian Premier League champion |
| Uganda | Vipers | 2014–15 Uganda Super League champion |
| Zanzibar | Mafunzo | 2014–15 Zanzibar Premier League champion |

## Schedule

The schedule of the competition was as follows. For the first time, some rounds of matches were officially scheduled in midweek (in italics) instead of on weekends.
| Phase | Round | Draw date | First leg | Second leg |
| Qualifying | Preliminary round | 11 December 2015 (Dakar, Senegal) | 12–14 February 2016 | 26–28 February 2016 |
| Qualifying | First round | 11 December 2015 (Dakar, Senegal) | 11–13 March 2016 | 18–20 March 2016 |
| Qualifying | Second round | 11 December 2015 (Dakar, Senegal) | 8–10 April 2016 | 19–20 April 2016 |
| Group stage | Matchday 1 | 24 May 2016 (Cairo, Egypt) | 17–19 June 2016 | 17–19 June 2016 |
| Group stage | Matchday 2 | 24 May 2016 (Cairo, Egypt) | 28–29 June 2016 | 28–29 June 2016 |
| Group stage | Matchday 3 | 24 May 2016 (Cairo, Egypt) | 15–17 July 2016 | 15–17 July 2016 |
| Group stage | Matchday 4 | 24 May 2016 (Cairo, Egypt) | 26–27 July 2016 | 26–27 July 2016 |
| Group stage | Matchday 5 | 24 May 2016 (Cairo, Egypt) | 12–14 August 2016 | 12–14 August 2016 |
| Group stage | Matchday 6 | 24 May 2016 (Cairo, Egypt) | 23–24 August 2016 | 23–24 August 2016 |
| Knockout stage | Semi-finals | 24 May 2016 (Cairo, Egypt) | 16–18 September 2016 | 23–25 September 2016 |
| Knockout stage | Final | 24 May 2016 (Cairo, Egypt) | 14–16 October 2016 | 21–23 October 2016 |

## Qualifying rounds

The draw for the preliminary, first and second rounds was held on 11 December 2015 in Dakar, Senegal.
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).

### Preliminary round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Mafunzo | 0–4 | AS Vita Club | 0–3 | 0–1 |
| Centre Chiefs | w/o | Ferroviário Maputo | — | — |
| Chicken Inn | 1–2 | Mamelodi Sundowns | 1–0 | 0–2 |
| Warri Wolves | w/o | Sporting Praia Cruz | — | — |
| AS Mangasport | 0–3 | Étoile du Congo | 0–0 | 0–3 |
| Wydad AC | 3–2 | AS Douanes Niamey | 2–0 | 1–2 |
| Gor Mahia | 1–3 | CNaPS Sport | 1–2 | 0–1 |
| Saint George | 4–1 | St Michel United | 3–0 | 1–1 |
| Vipers | 1–2 | Enyimba | 1–0 | 0–2 |
| Lioli | 2–2 (a) | Vital'O | 1–2 | 1–0 |
| Olympique Khouribga | 4–2 | Gamtel | 2–1 | 2–1 |
| Stade Malien | 4–1 | RC Bobo Dioulasso | 3–1 | 1–0 |
| ZESCO United | 3–0 | Al-Ghazal | 2–0 | 1–0 |
| AS Douanes Dakar | 0–4 | Horoya | 0–0 | 0–4 |
| Mbabane Swallows | 2–4 | APR | 1–0 | 1–4 |
| Cercle de Joachim | 0–3 | Young Africans | 0–1 | 0–2 |
| Recreativo do Libolo | 9–1 | Racing de Micomeseng | 5–1 | 4–0 |
| Volcan Club | w/o | Kaizer Chiefs | 0–4 | — |
| AS CotonTchad | 0–1 | ASEC Mimosas | 0–1 | 0–0 |
| Onze Créateurs | 1–2 | Al-Ahli Tripoli | 1–2 | 0–0 |
| Nimba United | 1–4 | Union Douala | 1–3 | 0–1 |
| Club Africain | 2–0 | AS Tanda | 2–0 | 0–0 |
| Ashanti Gold | 2–3 | MO Béjaïa | 1–0 | 1–3 |

#### Notes

* ^ Ferroviário Maputo won on walkover after Centre Chiefs withdrew.
* ^ Warri Wolves won on walkover after Sporting Praia Cruz failed to arrive for the first leg.
* ^ Kaizer Chiefs won on walkover after Volcan Club failed to arrive for the second leg.

### First round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| AS Vita Club | 2–1 | Ferroviário Maputo | 1–0 | 1–1 |
| Mamelodi Sundowns | 3–1 | AC Léopards | 2–0 | 1–1 |
| Warri Wolves | 0–2 | Al-Merrikh | 0–1 | 0–1 |
| Étoile du Congo | 3–5 | ES Sétif | 1–1 | 2–4 |
| Wydad AC | 6–3 | CNaPS Sport | 5–1 | 1–2 |
| Saint George | 2–3 | TP Mazembe | 2–2 | 0–1 |
| Enyimba | 6–3 | Vital'O | 5–1 | 1–2 |
| Olympique Khouribga | 1–3 | Étoile du Sahel | 1–1 | 0–2 |
| Stade Malien | 2–1 | Coton Sport | 2–0 | 0–1 |
| ZESCO United | 4–3 | Horoya | 4–1 | 0–2 |
| APR | 2–3 | Young Africans | 1–2 | 1–1 |
| Recreativo do Libolo | 0–2 | Al-Ahly | 0–0 | 0–2 |
| Kaizer Chiefs | 0–1 | ASEC Mimosas | 0–1 | 0–0 |
| Al-Ahli Tripoli | 2–2 (a) | Al-Hilal | 1–0 | 1–2 |
| Union Douala | 0–3 | Zamalek | 0–1 | 0–2 |
| Club Africain | 1–2 | MO Béjaïa | 1–0 | 0–2 |

### Second round

| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| AS Vita Club | 2–2 (a) d/q; w/o | Mamelodi Sundowns | 1–0 | 1–2 |
| Al-Merrikh | 2–2 (a) | ES Sétif | 2–2 | 0–0 |
| Wydad AC | 3–1 | TP Mazembe | 2–0 | 1–1 |
| Enyimba | 3–3 (4–3 p) | Étoile du Sahel | 3–0 | 0–3 |
| Stade Malien | 2–5 | ZESCO United | 1–3 | 1–2 |
| Young Africans | 2–3 | Al-Ahly | 1–1 | 1–2 |
| ASEC Mimosas | 3–2 | Al-Ahli Tripoli | 2–0 | 1–2 |
| Zamalek | 3–1 | MO Béjaïa | 2–0 | 1–1 |

#### Notes

* ^ The CAF announced on 24 May 2016 that Mamelodi Sundowns won on walkover after AS Vita Club were disqualified for fielding an ineligible player in their preliminary round tie against Mafunzo. Mamelodi Sundowns played in the Confederation Cup play-off round before they were reinstated to the Champions League.
The eight winners of the second round advanced to the group stage, while the eight losers of the second round entered the Confederation Cup play-off round.

## Group stage

The draw for the group stage was held on 24 May 2016, 14:30 EET (UTC+2), at the CAF headquarters in Cairo, Egypt. The eight teams were drawn into two groups of four.
In the group stage, each group was played on a home-and-away round-robin basis. The winners and runners-up of each group advanced to the semi-finals.
* Tiebreakers
* The teams were ranked according to points (3 points for a win, 1 point for a draw, 0 points for a loss). If tied on points, tiebreakers would be applied in the following order (Regulations III. 20 & 21):
* Number of points obtained in games between the teams concerned;
* Goal difference in games between the teams concerned;
* Goals scored in games between the teams concerned;
* Away goals scored in games between the teams concerned;
* If, after applying criteria 1 to 4 to several teams, two teams still have an equal ranking, criteria 1 to 4 are reapplied exclusively to the matches between the two teams in question to determine their final rankings. If this procedure does not lead to a decision, criteria 6 to 9 apply;
* Goal difference in all games;
* Goals scored in all games;
* Away goals scored in all games;
* Drawing of lots.

### Group A

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | WAC | ZES | AHL | MIM |
| 1 | Wydad AC | 6 | 3 | 2 | 1 | 6 | 3 | +3 | 11 | Knockout stage | — | 2–0 | 0–1 | 2–1 |
| 2 | ZESCO United | 6 | 2 | 3 | 1 | 10 | 9 | +1 | 9 | Knockout stage | 1–1 | — | 3–2 | 3–1 |
| 3 | Al Ahly | 6 | 1 | 3 | 2 | 6 | 7 | −1 | 6 | | 0–0 | 2–2 | — | 1–2 |
| 4 | ASEC Mimosas | 6 | 1 | 2 | 3 | 5 | 8 | −3 | 5 | | 0–1 | 1–1 | 0–0 | — |

### Group B

| Pos | Teamvte | Pld | W | D | L | GF | GA | GD | Pts | Qualification | MSD | ZAM | ENY | ESS |
| 1 | Mamelodi Sundowns | 4 | 3 | 0 | 1 | 6 | 5 | +1 | 9 | Knockout stage | — | 1–0 | 2–1 | — |
| 2 | Zamalek | 4 | 2 | 0 | 2 | 3 | 3 | 0 | 6 | Knockout stage | 1–2 | — | 1–0 | — |
| 3 | Enyimba | 4 | 1 | 0 | 3 | 4 | 5 | −1 | 3 | | 3–1 | 0–1 | — | — |
| 4 | ES Sétif | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Disqualified | 0–2 | — | — | — |
* ↑ The CAF announced on 23 June 2016 that ES Sétif were disqualified for a pitch invasion and other incidents at their home match against Mamelodi Sundowns on 18 June 2016. The result of this match was annulled and not taken into consideration according to the regulations.

## Knockout stage

In the knockout stage, the four teams played a single-elimination tournament. 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. 26 & 27).

### Bracket

| Semi-finals | Semi-finals | Semi-finals | Semi-finals | Semi-finals | Final | Final | Final | Final | Final |
| 1 | ZESCO United | 2 | 0 | 2 | | | | | |
| 4 | Mamelodi Sundowns | 1 | 2 | 3 | | | | | |
| 4 | Mamelodi Sundowns | 1 | 2 | 3 | Mamelodi Sundowns | Mamelodi Sundowns | 3 | 0 | 3 |
| | | | | | Zamalek | Zamalek | 0 | 1 | 1 |
| 3 | Zamalek | 4 | 2 | 6 | Zamalek | Zamalek | 0 | 1 | 1 |
| 2 | Wydad AC | 0 | 5 | 5 | | | | | |

### Semi-finals

In the semi-finals, the group A winners played the group B runners-up, and the group B winners played the group A runners-up, with the group winners hosting the second leg.
| Team 1 | Agg.Tooltip Aggregate score | Team 2 | 1st leg | 2nd leg |
| Zamalek | 6–5 | Wydad AC | 4–0 | 2–5 |
| ZESCO United | 2–3 | Mamelodi Sundowns | 2–1 | 0–2 |

### Final

In the final, the two semi-final winners played each other, with the order of legs decided by an additional draw held after the group stage draw.
Mamelodi Sundowns won 3–1 on aggregate.

## Top goalscorers

| Rank | Player | Team | Goals |
| 1 | Mfon Udoh | Enyimba | 9 |
| 2 | Reda Hajhouj | Wydad AC | 6 |
| 3 | Idris Mbombo | ZESCO United | 5 |
| 4 | Clatous Chama | ZESCO United | 4 |
| 4 | Eudes Dagoulou | ES Sétif | 4 |
| 4 | Mamadou Diawara | Recreativo do Libolo | 4 |
| 4 | Jackson Mwanza | ZESCO United | 4 |
| 4 | Basem Morsy | Zamalek | 4 |
| 4 | Fabrice Ondama | Wydad AC | 4 |
| 4 | Jesse Were | ZESCO United | 4 |
| 4 | Yannick Zakri | ASEC Mimosas | 4 |