The hosts came into the match hoping to start the campaign well, but had to do without the services of regulars Ernest Wendo and Francis Mustafa, who were suspended after accumulating two yellow cards from the previous matches.
Gor Mahia got their goals through Jacques Tuyisenge, who scored two, Nicholas Kipkirui and Dennis Oliech while Ibrahim Hassan scored twice for Zamalek.
After a feisty opening minutes that saw dangerous challenges fly, Zamalek went ahead in the 8th minute through Ibrahim Hassan, who fired home with a lovely shot from the edge of the box after Gor Mahia defenders had cleared a corner.
Gor Mahia upped their game after going down with Francis Kahata, Jacques Tuyisenge and Nicholas Kipkirui leading the onslaught. The equalizer finally came in the 25th minute when Tuyisenge slotted home from a Kahata cut-back.
Now on top of their game, Gor Mahia missed a chance to go ahead moments later when Boniface Omondi shot directly at Zamalek keeper Emad Elsayed from a prime position.
Tuyisenge got his second of the game in the 38th minute when after he squeezed a header home from an Omondi delivery on the left flank. A minute before the break, Zamalek equalized through Hassan. A defense splitting pass from midfield set up the forward whose left-foot shot went through Boniface Oluoch's arms.
Five minutes after the restart, Gor Mahia went 3-2 up. A good delivery from Tuyisenge on the right was finished by Kipkirui with a glancing header past a helpless Emad. The custodian pulled a huge save moments later to deny Omondi.
Substitute Dennis Oliech then secured the points for Gor Mahia in stoppage time after rounding the Zamalek keeper before firing home.
Gor Mahia XI: Boniface Oluoch, Philemon Otieno, Shafik Batambuze, Joachim Oluoch, Charles Momanyi, Kenneth Miguna, Boniface Omondi, Lawrence Juma, Jacques Tuisenge, Nicholas Kipkirui and Francis Kahata.
Reserves: Francis Odhiambo, Wellington Ochieng, Samuel Onyango, George Odhiambo, Erisa Ssekisambu, Denis Oliech and Harun Shakava.