Иван Грачёв родился в 1903 году в деревне Верхнеугличино (ныне — Кармаскалинский районБашкортостана) в семье крестьянина. Окончил курсы руководящих работников сельского хозяйства, заведовал свинофермой в совхозе «Карламан» в том же районе, затем был заместителем директора совхоза имени 8 марта в Ермекеевском районеБашкирской АССР. В июле 1941 года Грачёв был призван на службу в Рабоче-крестьянскую Красную Армию. С сентября того же года — на фронтах Великой Отечественной войны. В 1942 году получил тяжёлое ранение. К сентябрю 1943 года сержант Иван Грачёв командовал отделением 78-го стрелкового полка 74-й стрелковой дивизии13-й армииЦентрального фронта. Отличился во время битвы за Днепр[1].
23 сентября 1943 года Грачёв первым в своём батальоне переправился через Днепр в районе посёлка КомаринБрагинского районаГомельской областиБелорусской ССР и, приблизившись к противнику на расстояние 50 метров, разведал его оборону и передал командованию ценные данные, что способствовало успешному форсированию Днепра. В боях на плацдарме Грачёв увлекал бойцов за собой, лично уничтожил 2 вражеские пулемётные точки. В одном из боёв он получил тяжёлое ранение и был отправлен в госпиталь[1].
Указом Президиума Верховного Совета СССР от 16 октября 1943 года за «образцовое выполнение боевых заданий командования и проявленные мужество и героизм в боях с немецкими захватчиками» сержант Иван Грачёв был удостоен высокого звания Героя Советского Союза[1][2][3].
Герои Советского Союза: Краткий биографический словарь / Пред. ред. коллегии И. Н. Шкадов. — М.: Воениздат, 1987. — Т. 1 /Абаев — Любичев/. — 911 с. — 100 000 экз. — ISBN отс., Рег. № в РКП 87-95382.