Родился 17 июня 1922 года в селе Щелокове Курской губернии. Окончил десятилетку и аэроклуб, в 1941 году — Чугуевскую военную авиационную школу летчиков.
С начала 1942 года на фронте.
Летчики 1-го гвардейского авиационного корпуса, в составе которого служил Гнездилов, сопровождали и прикрывали штурмовиков.
Старший лейтенант Гнездилов совершил 376 боевых вылетов, в 86 воздушных боях сбил 21 и в составе группы — 3 самолета противника.
В 1945 году окончил Высшие летно-тактические курсы офицеров ВВС. Участник боевых действий в ходе корейской войны 1950-1953 годов.
Гвардии майор И. Ф. Гнездилов командовал истребительной эскадрильей 676-го истребительного авиационного полка.
14 сентября 1952 года сбил американский истребитель F-86 «Сейбр».
В 1961 году полковник Гнездилов вышел в отставку.
Жил в Риге, работал руководителем полетов Рижского аэропорта.
И. Ф. Гнездилов умер 14 января 1990 года.
Герой Советского Союза (19.08.1944).
Награжден орденом Ленина, четырьмя орденами Красного Знамени, орденом Александра Невского, двумя орденами Отечественной войны 1-й степени, двумя орденами Красной Звезды, медалями.