Иван Алексеевич ушёл на фронт добровольцем в июне 1941 года, был направлен в Подольское артиллерийское училище. Курс подготовки офицеров младшего командного состава изначально был рассчитан на три года, но после начала Великой Отечественной войны программу сократили до шести месяцев.
Враг неумолимо приближался к Москве. В начале октября из курсантов пехотного и артиллерийского училищ Подольска составили сводный полк численностью 3500 человек. Бойцам был отдан приказ – занять позиции на Ильинском рубеже и любой ценой задержать противника на 5-7 дней, до подхода резервов.
Из воспоминаний Ивана Алексеевича:
Вместе с товарищами из Подольского артиллерийского училища отражал наступление танков и пехоты гитлеровцев. Нас тогда по тревоге подняли. 3,5 тысячи курсантов отправили на защиту юго-западных рубежей Москвы. Так вчерашние школьники держали оборону. За 18 дней в живых остались всего 500 человек.
Подольские курсанты стояли насмерть. Благодаря их подвигу удалось выиграть время, необходимое для закрепления частей на новом рубеже обороны. Войти в Москву гитлеровцы не сумели.
За храбрость, стойкость и мужество, проявленные в боях, Иван Шпагин был награждён орденами Отечественной войны I и II степени, тремя орденами Красной Звезды, медалями «За боевые заслуги», «За отвагу», «За победу над Германией».
В 1942 году после окончания училища Иван Алексеевич воевал на Северо-Кавказском направлении. В 1943 году освобождал Украинскую ССР. Дважды был ранен, но каждый раз возвращался в строй. После окончания войны более 30-ти лет служил в армейских и милицейских структурах Красноярского края.