Родился в деревне Ганевичи Логойского района в крестьянской семье.
В начале Великой Отечественной войны Иван Захаров эвакуировался в советский тыл, а в ноябре 1941 года был направлен на оккупированную гитлеровскими войсками территорию для организации партизанского движения в Освейском районе Витебской области. Соединение Захарова затем разрослось до 1100 человек.
В конце октября 1943 года отряды Россонской и Полоцкой бригад соединились с частями Красной Армии. Шли последние дни партизанской борьбы. Радостные и тяжелые дни. Части немецко-фашистских войск проходили через Освейский район к фронту. Против партизан были брошены войска, движущиеся на фронт. Численность их определить было невозможно, каждый день в борьбу с партизанами включались новые немецкие части. Партизанам необходимо было спасти мирное население от угона в плен. 30 декабря при поддержке войск партизаны прорвали окружение и вышли в тыл.
Герой Советского Союза, награжден орденами и медалями.