Seifeddine Jaziri gave Zamalek a third-minute lead with a left-foot shot from close range, but Mostafa Ziko levelled for ZED FC in the 32nd minute before Dilson Kamone added the winner in the 81st.
Zamalek pressed forward from the start and took the lead when Jaziri received a short cross from Ibrahima Ndiaye and fired home.
The White Knights tried to add a second but were thwarted by the solid ZED FC defence.
Rookie ZED FC, showing superiority in the midfield, pressed forward and had a chance to equalise when Shady Hussein found himself one-on-one with Zamalek goalkeeper Mohamed Awaad, but he failed to score.
ZED FC did manage to level in the 32nd minute when Mohamed Ashraf crossed to Shady Hussein, whose shot was blocked by the Zamalek defence, but Ziko was on hand to put the ball in the back of the net.
Zamalek coach Jesualdo Ferreira introduced Shikabala and Hatem Sukkar in an attempt to add new blood to the attack and defence, but the veteran forward failed to make a notable impact.
In the 63rd minute, Zamalek goalkeeper Mohamed Awaad displayed an impressive performance, making a crucial save from a close-range header by ZED FC midfielder Abdullah Magdy.
ZED FC coach Magdi Abdel-Atti introduced trio Muhammed Sawaneh, Raafat Khalil and Kamone to freshen up his attack, and it was Kamone who scored the winner in the 81st minute after Khalil crossed the ball to him.
Despite Zamalek's late attempts to find an equalizer, their forwards lacked clinical finishing, and the match ended in a 2-1 victory for ZED FC.
With this win, ZED FC climbed to the third spot in the league standings, just one point behind the table-toppers Pyramids FC. Meanwhile, Zamalek dropped to the sixth position with 8 points.
(For more sports news and updates, follow Ahram Online Sports on Twitter at @AO_Sports and on Facebook at AhramOnlineSports.)