Родился 2 мая 1919 года в Алтайском крае. Русский. С 1929 года служил в ашхабадском дивизионе войск ОГПУ. В 1941 году принимал участие в обороне Ленинграда в составе 20-й стрелковой дивизии войск НКВД. Начальник разведки артиллерийского дивизиона 90-го гвардейского артиллерийского полка (3-й Украинский фронт) гвардии младший лейтенант Захаров в ночь на 1 декабря 1944 года с передовым десантом переправился через р. Дунай в районе г. Харта (Венгрия). Когда противник начал обстрел главных сил десанта на плацдарме, с тремя бойцами пробрался в тыл врага и захватил его артиллерийскую батарею с личным составом и боеприпасами. В этом бою был ранен. После войны работал инженером на Невском заводе им. В.И.Ленина. Награжден орденом Ленина, медалями. Умер 20 сентября 1982 года.
Звание Героя Советского Союза присвоено 24 марта 1945 года.