Substitute striker Seif Jaziri came off the bench in the 64th minute to level the score eight minutes later, before netting the winner four minutes from time.
NBE fullback Assem Salah opened the scoring for the hosts after converting a penalty in the 55th minute of the game.
Zamalek are now at the top of the league table with 48 points, seven points ahead of Ahly, who still have four matches in hand.
The hosts were lucky not to concede a goal in the first half that saw Zamalek players squander four clear chances, with Achraf Bencharki and Mohamed Onajem headers going inches from the goal, while Zizo and Obama missed the target with the goal at their mercy.
On the other hand, NBE forward Karim Bambo had the chance to put his side ahead four minutes before the break, but his close-range header went wide.
The second half saw Zamalek coach Jesualdo Ferierra introduce veteran winger Mahmoud ‘Shikabala’ Abdel-Razek in order to impose more pressure on the hosts.
But it was the hosts who opened the scoring thanks to Assem Salah, who converted a penalty 10 minutes after the break.
Shikabala missed the target on two occasions in the 66th and 70th minutes respectively, but Tunisian international striker Seif Jaziri leveled the score with a powerful shot from the edge of the area.
The White Knights imposed more pressure on the hosts in order to score the winner, with Shikabala and Bencharki failing to score on two easy occasions.
Substitute Youssef Nabih, who provided the second goal to Shikabala in the Cairo derby against Ahly three days earlier, made a copy of his work against Ahly in providing the winner to Jaziri.
He skipped past his marker on the left flank to send a nice cross for the Tunisian striker, who scored easily in an empty net.
The hosts tried to level the score during the four remaining minutes, but they failed to make a real threat.
(For more sports news and updates, follow Ahram Online Sports on Twitter at @AO_Sports and on Facebook at AhramOnlineSports.)
Short link: