Defending champions Al Ahly progressed into the final of the CAF Champions League after beating Cameroon's Cotonsport 7-6 on penalties.
After the two sides played out a 1-1 draw in Sunday's semi-final second leg following their 1-1 stalemate in the first encounter in Garoua before the international break, Ahmed Fathi scored what turned out to be winner when the tie was settled in a tense shoot-out.
The spot-kicks did not get off to a good start for Al Ahly, though, as Mohamed Aboutrika missed their first penalty.
The experienced midfielder was the only player to miss for the hosts, however, as Coton duo Kada Yougouda and Jacques Haman failed to find the net, making Fathi's kick the winner.
Al Ahly had earlier took the lead after three minutes in normal time as Sayed Moawad whipped in a good cross from the left that Abdallah El-Said met with a header, directing the ball past Loic Feudjou in the visitors' goal.
Walid Soliman had a good opportunity to double their lead 20 minutes later, but his half-volley from a tight angle missed the target after finding space in the area.
Coton created their first chance in the 34th minute as Emmanuel Mbongo held off his marker in the area and shot, but Sherif Ekramy got down to make the block.
Al Ahly kept their lead going into the break, but Coton drew level in the 65th minute.
After a cross from the left was not dealt with by Sherif Abdel-Fadil, Yougouda knocked the ball into the net from close range, bringing the aggregate score to 2-2.
The hosts piled on the pressure in the final 20 minutes, but they struggled to create goalscoring opportunities and Coton held on until full-time, meaning the matter had to be settled on penalties.
Al Ahly got off to a poor start in the shoot-out as the usually-reliable Aboutrika missed, but Coton's Yougouda soon wasted his own effort.
Fathi kept his cool to edge Al Ahly 7-6 ahead before Haman missed as the home side set up a final against Orlando Pirates.
|4||Sherif Abdul Fadil|
|19||Abdalla El Said||3'|
|22||Mohamed Abo Trika|
|21||Ahmed Abdul Zaher|
|Coach: Mohamed Youssef|
for Abdalla El Said 76'
for Rami Rabia 84'
for Ahmed Abdul Zaher 90+1'
|Juventus unveil dramatic change to club logo - but not everyone´s a fan|
|´I do not think I will return to coaching´ - Van Gaal set to call it quits|
|Torino 2 AC Milan 2: Bacca caps thrilling comeback as hosts pay the penalty|
|DR Congo 1 Morocco 0: Kabananga pounces on blunder to give 10 men the points|
|´Happy and comfortable´ Sanchez dismisses Arsenal exit talk|
|How much?! West Ham flop Simone Zaza could cost Valencia €20m|
|Mali v Egypt: Salah leads Pharaohs´ bid for AFCON glory|
|Sevilla concede they ´cannot force´ sporting director Monchi to stay|
|Ivory Coast 0 Togo 0: Reigning champions held to opening draw by Adebayor and co.|
|Goalkeeping woes, Stones and tactical confusion - How Guardiola is making life difficult for himself|
|Ozil and Sanchez can be persuaded to stay - Cech|
|Pogba: I rejected Barcelona and Real Madrid|
|Ghana v Uganda: Gyan dreams of first trophy since 1982|
|Chiellini: Juventus a work in progress|
|Robben agrees Bayern renewal until 2018|
|Hazard: Goals do not matter to me|
|Bennell pleads not guilty to eight child sex offences|
|Muller fed up with debate over Bayern role|
|Wenger glad Sanchez is not ´a Costa problem´|
|Flick resigns as DFB´s sporting director|
|Gomis ´can´t wait´ to welcome Payet to Marseille|
|Chinese FA changes foreign player rules after ´irrational´ spending|
|Like father, like son: Justin Kluivert follows in dad´s footsteps|
|´No reason to lose him´ - Marotta rubbishes talk of Allegri exit|
|Courtois: We don´t need Costa|
|Kane: Tottenham players won´t go to China|
|Noble ´angry and disappointed´ with Payet|
|Klopp furious over Matip uncertainty|
|Wenger surprised by tight Premier League|
|´Money is not everything´ - Conte issues warning amid China speculation|
|Fiorentina defeat a ´bad setback´ - Allegri|
|´This will elevate this group of players´ - Sampaoli revels in Sevilla late show|
|WATCH: Rio Ferdinand screams and dances in crazy Man Utd celebration|
|Real Madrid relaxed, admits Zidane after Sevilla defeat|
|Monaco go top of Ligue 1 with stunning Marseille victory|
|Ronaldo equals LaLiga penalty record as Real Madrid lose|
|Sevilla 2 Real Madrid 1: Stunning late comeback ends unbeaten run at 40|
|Fiorentina 2 Juventus 1: Brilliant Viola breathe life into Serie A title race|
|Tunisia 0 Senegal 2: Mane on target as favourites start strongly|
|Mourinho explains Klopp confrontation|
|Klopp delights in Alexander-Arnold display|
|Algeria must cut out mistakes against Tunisia - Leekens|
|Long balls led to Man Utd equaliser, says Klopp|
|´We attacked, Liverpool defended´ – Mourinho insists a point flattered Klopp´s men|
|DR Congo v Morocco: ´Confidence´ the Atlas Lions´ biggest hindrance ahead of AFCON opener|
|Ibrahimovic: Direct tactics worked for United|
|Guardiola rues gap to Chelsea after Goodison mauling|
|Algeria 2 Zimbabwe 2: Mahrez double prevents shock defeat|
|Manchester United 1 Liverpool 1: In-form Ibrahimovic saves hosts|
|Ivory Coast v Togo: AFCON champions hope to tame Le Roy´s ´troublemakers´|
|Guardiola lays City´s mental frailties bare after Goodison rout|
|Koeman hails ´perfect´ Everton after City mauling|
|Nice stalemate gives Monaco chance to go top|
|Guardiola suffers heaviest league loss in Everton thrashing|
|Neymar-esque Zaha is England´s loss – Bolasie|
|Everton 4 Manchester City 0: Koeman leaves old pal Guardiola´s title bid in tatters|
|Matip withdrawn from Liverpool selection over eligibility questions|
|Podolski staying at Galatasaray, insists sporting director|
|Cavani wants PSG stay|
|Torino move feels normal now – Hart|
|Chinese FA changes rule on CSL foreign players - reports|
|Bayern complete swoop for Hoffenheim duo Sule and Rudy|
|Aubameyang: Dortmund not really like Barca, Madrid or Bayern|
|Pogba can chance a game in one second - Herrera|
|Newcastle Jets 2 Perth Glory 2: Keogh´s eighth of season seals draw|
|Klopp: Liverpool ready for Old Trafford test|
|Herrera taunts Liverpool ahead of Old Trafford showdown|
|I had to be 100 per cent to stay at Boca - Tevez|
|No player is bigger than the club - Carroll takes swipe at want-away Payet|
|Icardi: I can always move to China at end of career|
|Mkhitaryan: Klopp convinced me not to join Liverpool|
|Mourinho: Pogba can score every game|
|Cameroon´s profligacy frustrates Broos|