Родился в селе Слизнево, ныне городского округа г. Арзамас Нижегородской области, в семье крестьянина. До призыва в Красную Армию в 1940 году, работал в колхозе. Участник Великой Отечественной войны с июня 1941 года. 21 января 1945 года наводчик орудия 168-го отдельного истребительно-противотанкового дивизиона 181-й стрелковой дивизии 6-й армии 1-го Украинского фронта, старший сержант Захаров при прорыве обороны противника на Сандомирском плацдарме подавил несколько пулемётных точек и 75-мм пушку противника. Во время очередной контратаки был тяжело ранен, но поля боя не покинул. Звание Героя Советского Союза присвоено 27 июня 1945 года. После окончания войны жил в селе Вад Горьковской/Нижегородской области. Работал инженером производственного объединения «Горьковколхозстрой». Похоронен на кладбище села Вад. Награды: ордена Ленина (27.06.1945), Красного Знамени (05.11.1944), Отечественной войны 1-й степени (06.11.1985), Красной Звезды (16.11.1943, 20.03.1944), Славы 3-й степени (25.01.1945), медали, в т. ч. «За боевые заслуги» (23.09.1943). Память: на Аллее Героев в селе Вад ему установлен бюст.