Zamalek defeated Raja Casablanca 3-1 to set up an all-Egyptian African Champions League final.
The semi-final second leg was played in Cairo, after being postponed by two weeks owing to a string of coronavirus infections in the Raja team.
After a goalless first half, Raja scored in the 47th minute courtesy of Ben Malango.
As they plotted to double the lead, Zamalek struck through Ferjani Sassi in the 61st minute. Mostafa Mohamed then scored a brace to make it 3.
The Egyptians had a 1-0 advantage from the first leg in Casablanca in October.
Al Ahly, who are looking for their ninth Champions League crown - were the first to book a spot in the final after dumping Wydad Casablanca in October.