The hosts began brightly and thought that they had taken the lead on 10 minutes when El Kaabi headed the ball into the back of the net from Ismail Haddad's corner.
However, the goal was ruled out off as the ball had curled out of play before reaching the forward.
Morocco continued to dominate and were rewarded for their perseverance with the opening goal on the stroke of half time.
Nigeria then suffered another blow on 48 minutes as Eneji was sent off for a second bookable offence after a foul on Mohamed Nahiri.
From then on it was all one-way traffic as El Karti headed home Jbira's cross on 61 minutes before Hadraf scored his second of the match three minutes later.
The rout was completed on 73 minutes through El Kaabi, who grabbed his ninth goal of the campaign from close range to seal victory and his place as the CHAN tournament's top scorer.
MOROCCO: Zniti, El Yamiq, Boulhroude (Barrahma 60'), Hadraf (Hammoudan 72'), Saidi, El Kaabi (Nanah 82'), El Karti, El Haddad, Banoune, Nahiri, Jbira
NIGERIA: Ajiboye, Okoro, Emeka Atuloma, Okogbue, Eze, Ogbug (Okpotu 53'), Ali (Oladapo 57'), Eneji, Utin (Mustapha 78'), Ojo, Okechukwu