Moroccan club Wydad Casablanca qualified for a third CAF Champions League final in six seasons despite being held 1-1 by Angolan visitors Petro Luanda on Friday.
Two-time African champions Wydad triumphed 4-2 on aggregate having won the first leg of the semi-final 3-1 in Luanda last Saturday.
Wydad will confront title-holders Al Ahly from Egypt or Entente Setif from Algeria in the May 30 final with the Cairo club defending a 4-0 first-leg lead in Algiers on Saturday.
The final is scheduled for Morocco, but Ahly have asked the Court of Arbitration for Sport (CAS) to overturn the Confederation of African Football (CAF) decision, citing the need for a neutral venue.
Playing with confidence and energy lacking in the first leg, Petro went ahead on 21 minutes through Gleison Moreira, one of three Brazilians in the starting line-up.
Amine Farhane leveled seven minutes later at the Stade Mohammed V in the Moroccan commercial capital, and while Petro had more possession thereafter, they could not score again.
The closest the Luanda outfit came to securing what would have been a deserved second-leg victory was in added time at the end of the second half when substitute Erico Castro struck the woodwork.
With so much at stake, tempers became frayed as the second half progressed with four players from Wydad and three from Petro yellow carded. A member of the Angolan technical team was also cautioned.
Petro substitute Adriano Yano was shown a red card by the South African referee after the final whistle for dissent.
After displaying clinical efficiency to build a two-goal first-leg advantage, Wydad were favored to win again in front of a huge, vocal, largely red-clad home crowd.
Petro had to score at least three goals to survive and, understandably, opted for a risky but necessary attacking approach.
It was hard to believe Wydad were the hosts in the early exchanges as Petro constantly pushed forward, forcing the Moroccans to back pedal continuously.
The boldness of the visiting team paid off when Gleison moved in the right flank and unleashed a shot from just outside the box that took a slight deflection off Farhane as it flew into the corner.
Farhane stunned soon after as he raced across the six-yard box and gave a Reda Jaadi corner between goalkeeper Wellington Lima and To Carneiro for the equaliser.
Yano provided an inspired second-half substitution by Portuguese coach Alexandre Santos, going close twice to putting his team ahead again.
Petro have been the surprise side of the 2022 Champions League — reaching the semi-finals for the first time since 2001 after scraping past a Cameroonian club on away goals in the first qualifying round.