Родился в 1915 году в городе Старый Оскол в семье кресть­янина. (В двухтомном кратком биографическом словаре "Герои Советского Союза", М., Воениздат, 1987, местом рождения значится село Стужень ныне Мантуровского района Курской области. См. т. 1, с. 351). Русский. Член КПСС с 1943 года. Окончил неполную среднюю школу и зооветеринарный техни­кум. В 1935 году был призван в ряды Красной Армии, где в 1937 году окончил Ейскую военную авиационную школу. В период Великой Отечественной войны в августе 1942 года был направ­лен в действующую часть на Закавказский фронт, сражался в 4-й воздушной армии.

С первых же дней фронтовой службы началась напряженная боевая работа, требовавшая высокого мастерства, отваги и мужества. За этот первый месяц летчик Горбунов И. М. совер­шил 34 боевых вылета, во время которых сбил один самолет, уничтожил при штурмовке 14 автомашин с грузами, 3 бензовоза и до 30 солдат и офицеров противника. За эти боевые успехи он в сентябре 1942 года был удостоен первой награды — ордена Красного Знамени. Второй его наградой был тоже орден Крас­ного Знамени, которым гвардии старший лейтенант Горбунов И. М. был награжден в апреле 1943 года. Будучи заместителем командира эскадрильи 42-го гвардейского истребительного ави­ационного полка, входившего в 9-ю гвардейскую истребитель­ную авиационную дивизию, он 14 марта повел семерку истре­бителей на боевое задание в район Темрюка, где совершил налет на вражеский аэродром, уничтожив там один самолет против­ника. Но немцы успели поднять в воздух 10 своих истребителей, атаковав наши самолеты. На самолет Горбунова И. М. напали три вражеских. В завязавшемся жестоком бою он сбил один самолет, но его машина была подбита и загорелась, а сам он был ранен в обе ноги. Превозмогая боль. Горбунов И. М. сумел вывести самолет из боя, горящим посадить его на своей терри­тории и погасить пламя. За его умелое командование эскад­рильей в сложной обстановке и успешные действия в боевых вылетах, нанесшие большой урон врагу, он в июне 1943 года был награжден орденом Александра Невского.

К июлю 1943 года Горбунов совершил 113 боевых вылетов, участвовал в 50 воздушных боях, в которых сбил 14 вражеских самолетов лично и 3 — в составе группы.

Указом Президиума Верховного Совета СССР от 2 сентября 1943 года заместителю командира эскадрильи 42-го гвардейско­го истребительного авиационного полка гвардии старшему лей­тенанту Горбунову Ивану Михайловичу присвоено звание Героя Советского Союза .

После войны Горбунов И. М. продолжал служить в Советской Армии. Он в 1949 году окончил военно-воздушную академию.

Погиб при исполнении служебных обязанностей 29 июня 1953 года в звании подполковника. Похоронен в городе Уссу­рийске Приморского края. В городе Старом Осколе имя Героя носит улица.