Иван Гончаров родился 6 января 1920 года в селе Житловка (ныне — Кременский район Луганской области Украины) в семье крестьянина. Получил среднее образование. В 1938 году Гончаров был призван на службу в Рабоче-крестьянскую Красную Армию. В 1941 году он окончил Подольское пехотное училище. С августа 1942 года — на фронтах Великой Отечественной войны. Принимал участие в боях на Северо-Кавказском, 2-м Прибалтийском, 2-м и 3-м Украинских фронтах. Участвовал в битве за Кавказ, Ленинградско-Новгородской, Уманско-Ботошанской, Ясско-Кишинёвской, Бухарестско-Арадской, Дебреценской, Будапештской операциях. К апрелю 1945 года гвардии капитан Иван Гончаров командовал мотострелковым батальоном 30-й гвардейской механизированной бригады (9-го гвардейского механизированного корпуса, 6-й гвардейской танковой армии, 2-го Украинского фронта). Отличился во время Венской операции.