Chinonso Obiozor scored the only goal in the final five minutes as the Super Eagles laboured past their stubborn opponents.
Zimbabwe were dealt an early blow when midfielder Masimba Mambare was shown a deserved red card for a high boot into the shoulder of Nigeria goalkeeper Chigozie Agbim and the Warriors had to play 72 minutes with 10 men.
The game started at a slow pace as both teams appeared to adopt a cautious approach. However the first chance of the game fell to Christian Pyagbara in the 6th minute, but the former youth international blasted wide after being set up by Shehu following a good break by Ibrahim from the right flank.
Ibrahim once again broke into the Zimbabwean box as his dazzling footwork got him past three defenders. However the young attacker went to ground at the slightest touch and was booked for simulation by the referee.
Mahachi made an incursion into the Nigerian box in the tenth minute after getting the better of Solomon Kwambe, but Chigozie Agbim got a hold of his cross to repel the threat.
Nigeria were handed a numerical advantage shortly after as Masimba Mambare was shown a straight red in the 17th minute following a high-booted tackle on Agbim. But the Super Eagles failed to make the advantage count as they found it hard to break through the Zimbabwean defence as Obiozor and Imenger wasted the rare chances that were created as the first half ended goalless.
Upon the resumption of the second half, Nigeria's coach Stephen Keshi brought in Ejike Uzoenyi to help unlock the hard fighting Zimbabweans.
Nigeria continued to dominate the game as the attacked on all fronts, while the Zimbabweans preferred to sit back and rely on counter-attacks, one of which forced Agbim to run off his line in the 62nd minute after Mahachi managed to get behind Egwuekwe.
Obiozor was unlucky not to give Nigeria the lead in the 71st minute, after his shot came off the post following a knock down from Imenger.
But the lanky Enugu Rangers striker eventually got the better of Chigova when he scored the winning goal for Nigeria in the 85th minute after an assist from Uzoenyi.
Nigeria: Agbim - Kwambe, Benjamin (Uzoenyi 52'), Uzochukwu (Zango 53'), Kunle, Egwueke, Pyagbara (Rabiu 68'), Imenger, Ibrahim, Obizor, Shehu
Zimbabwe: Chigova - Chipeta, Phiri, Zvirekwi, Machapa (Sadiki 81'), Mahachi, Moyo (Chindungwe 81'), Mambare, Jaure, Sithole, Ncube
Follow KickOffNigeria on Twitter @KickOff_Nigeria