Николай Иванович родился 20 сентября 1929 года в селе Старые Челны Октябрьского района Татарской АССР (ныне Нурлатский район РТ) в крестьянской семье.
Труженик тыла. Во время Великой Отечественной войны закончил семь лет школы и начал работать в колхозе, помогая взрослым на полях и фермах. После войны отслужил в Советской армии и после демобилизации поступил на курсы трактористов в Бугульминское СПТУ, по окончании которого трудился на полях родного колхоза. Затем Николаю Ивановичу предложили возглавить отстававшую свиноводческую ферму, за что он взялся со всей ответственностью. А когда колхоз «Борьба» вошел, вследствие укрупнения, в состав нового хозяйства — колхоза имени Синдрякова, Захаров принял под своё начало уже укрупненную свиноферму. В районных и республиканских сводках колхоз держался на лидирующих позициях по сдаче государству мяса, а план VIII пятилетки (1966—1970г.г.) по сдаче государству животноводческих продуктов был перевыполнен, за что Николаю Ивановичу 8 апреля 1971 года было присвоено звание Героя Социалистического Труда с вручением ордена Ленина.
В последующие годы он работал председателем Старочелнинского сельского Совета народных депутатов, заместителем председателя колхоза имени Синдрякова. Занимался общественной деятельностью — избирался депутатом Октябрьского районного Совета народных депутатов. Затем вышел на пенсию.
Награждён медалями.
Умер в 2002 году.