Иван Григорьевич Гришин родился 14 июля 1921 года в деревне Озерки (ныне Лев-Толстовский район Липецкой области) в крестьянской семье.
После окончания средней школы в 1938 году уехал в Донбасс, где работал пионервожатым в школе при руднике. В Красной Армии с 1939 года. По окончании в 1942 году Подольского пехотного военного училища был направлен на фронт в звании лейтенанта. Участвовал в боях в в составе войск Крымского, Северо-Кавказского, Юго-Западного, Степного фронтов. 26 сентября 1943 года батальон 509-го стрелкового полка под командованием капитана Гришина первым в полку форсировал Днепр в районе села Сошиновка, захватил плацдарм и обеспечил переправу других подразделений.
20 октября 1943 года, руководя наступлением батальона по расширению плацдарма в районе села Сошиновка Днепропетровской области, капитан Иван Григорьевич Гришин погиб. Похоронен в посёлке Днепровском Верхнеднепровского района Днепропетровской области.
22 февраля 1944 года капитану Ивану Гришину посмертно присвоено звание Героя Советского Союза. Награждён орденами Ленина, Красного Знамени.