В 1929 году Ивана Завьялова призвали в Красную Армию. Через год он уже командовал взводом в 48-й стрелковой дивизии, которая располагалась в Твери. В ноябре 1931 года под его началом уже взвод полковой школы. В 1938 году наш земляк командует батальоном, который участвует в боевых действиях около озера Хасан. Участвует, судя по всему, доблестно, поскольку оттуда Иван Завьялов возвращается с орденом Красного Знамени и поступает в Военную академию имени Фрунзе. Оканчивает он её накануне Великой Отечественной войны.
В июне 1941 года майора Ивана Завьялова назначают командиром 860-го стрелкового полка 283-й стрелковой дивизии. Воюет он на Брянском фронте. Полк под командованием Завьялова попадает в окружение, из которого сумел прорваться без больших потерь. После месяца упорных оборонительных боёв 8 ноября 1941 года Иван Завьялов получил тяжёлое ранение в живот. Несколько месяцев провел в госпитале. По состоянию здоровья был признан ограниченно годным к военной службе и на фронт больше не попал.
В июле 1942 года Ивана Завьялова назначили начальником штаба 37-й запасной стрелковой бригады в Приволжском военном округе. Когда в мае 1944 года бригада была развёрнута в 37-ю запасную стрелковую дивизию, подполковника Завьялова назначили начальником её штаба. До конца войны занимался подготовкой личного состава для действующей армии.
После войны Иван Григорьевич Завьялов окончил Высшую военную академию имени Ворошилова. На протяжении 36 лет он служил в Генеральном штабе Вооружённых сил СССР, стал крупным учёным в области военного строительства. На его счету более 40 научных работ. Ивану Завьялову было присвоено звание доктор военных наук. Он был полным кавалером ордена «За службу Родине в вооружённых силах СССР». Таких в Советской Армии было всего 13 человек.