В русской армии с 1916 года, участник Первой мировой войны, унтер-офицер. В Красной Армии с 1918 года. Участник гражданской войны. Военное образование получил в военной академии имени Фрунзе, окончил в 1933 году. С 1935 по 1939 годы в аппарате НКВД СССР. По некоторым данным в 1939 году назначен начальником Управления пограничных войск НКВД Белорусской ССР. С началом Великой Отечественной войны назначен командующим фронтом резервных армий. С ноября 1941 года командующий 39-й резервной армии в Торжке, с декабря – заместитель командующего 39-й армии Калининского фронта. В июле 1942 года после эвакуации командующего 39-й армией Ивана Ивановича Масленникова, отказавшийся от эвакуации Иван Александрович Богданов принял руководство армией на себя и возглавил прорыв из окружения. 16 июля 1942 года при выходе из окружения у деревни Крапивна Калининской области - ранен. Выведя из окружения 10 000 бойцов, 22 июля от полученных ран скончался в госпитале. Похоронен в Твери в братской могиле на площади Ленина.
Именем Ивана Александровича Богданова названа улица в Твери.