Родился 6 октября 1918 года в деревне Кукишево Волоколамского уезда Московской губернии. В 1932 году вместе с родителями переехал в город Коломну. Здесь окончил семилетнюю школу № 3 и школу ФЗУ при машиностроительном заводе (ныне ГПТУ № 6). Работал токарем-инструментальщиком на Коломзаводе, одновременно учился в аэроклубе. В 1938 году был призван в армию. Окончил Борисоглебскую военную авиационную школу летчиков. Участник советско-финской и Великой Отечественной войн. Совершил 251 боевой вылет на бомбардировку войск и военно-промышленных объектов фашистской Германии и стран сателлитов. Воевал в составе 752-го авиационного полка, который в марте 1943 года был преобразован в 10-й гвардейский авиаполк АДД (авиации дальнего действия).
В 1946 году гвардии капитан Захаров был демобилизован из рядов Советской Армии по состоянию здоровья. С тех пор живёт в Коломне. Окончил станкостроительный техникум и Московский институт механизации и электрификации сельского хозяйства. Более тридцати лет работал инженером-конструктором на заводе тяжелого станкостроения. Избирался депутатом Коломенского городского Совета, членом президиума городской ветеранской организации, председателем совета ветеранов войны и труда ЗТС.
Скончался 27 августа 2007 года в Коломне.
Награждён двумя орденами Ленина, орденами Красного Знамени, Отечественной войны 1-й степени, Красной Звезды, медалями.