Родился в 1921 году в деревне Подборное Ставропольского района Куйбышевской области.
22 июня 1941 года, сразу после окончания сельхозтехникума, был направлен в 5-ю Московскую летную школу, находившуюся в Саранске. Однако в январе 42-го Гризодубова забрала из школы всех женщин-инструкторов для своей Таманской летной дивизии, и число курсантов сократили. Так Иван попал во 2-е Киевское артиллерийское училище, эвакуированное в Саратовскую область. Осенью 42-го получил назначение в 600-й истребительный противотанковый артиллерийский полк резерва Верховного Командования, стоявший под Сухиничами. Принял свой первый бой 23 февраля 1943 года на Западном фронте. Участвовал в боях за Оршу, в операции «Багратион», воевал под Витебском, Бобруйском и Минском. В августе 44-го его полк на понтонах форсировал Днепр и двинулся на Могилев. В Польше получил ранение, после госпиталя в апреле 1945 года прибыл на 3-й Белорусский фронт в 610-й истребительный артиллерийский полк. В составе 39- й армии брал Кёнигсберг, после чего был направлен на восток. Участвовал в войне с Японией. До 1952 года служил в Порт-Артуре, до 1958-го - на озере Ханка. В возрасте 37 лет в звании капитана ушел в запас и переехал в Ангарск. Служил в штабе гражданской обороны, позже был начальником военно-учетного стола нефтехимкомбината. На пенсию ушел в 1991-м в звании подполковника.
Награждён орденами Отечественной войны (3), Красной Звезды (2), медалями «За отвагу», «За боевые заслуги», «За победу над Германией» и «За победу над Японией».