Родился 3 (23) января 1909 года в городе Хельсинки. Украинец.
В 1937 году окончил Высшее военно-морское училище имени Фрунзе. До начала Великой Отечественной войны проходил службу в 26-м Одесском морском пограничном отряде, сначала командиром БЧ, а затем и начальником штаба 26-го дивизиона.
В августе 1941 года командовал группой сторожевых катеров прикрывая суда Дунайской флотилии. С сентября 1941 года дивизион участвовал в десантах морской пехоты под Одессой. Во время обороны Одессы его катера находились в дозоре, занимаясь доставкой разведчиков в тылы противника, конвоировали транспорты, обстреливали берег занятый противником, и отражали беспрерывные авианалёты. 30 октября 1941 года, находясь на борту катера СКА 0120, раненый Г. И. Гнатенко заменил вышедшего из строя командира катера, встав за штурвал и продолжал руководить боем. При этом был сбит немецкий самолёт. После выписки из госпиталя Г. И. Гнатенко назначили командиром 5-го дивизиона катеров-тральщиков Керченской ВМБ, где катера под его командованием ставили минные заграждения и доставляли боезапасы в осаждённый город Керчь.
После вторичного ранения в мае 1942 года, Г. И. Гнатенко был назначен командиром 6-го дивизиона СКА Черноморского флота. В августе — сентябре 1942 года катера дивизиона «Малые охотники» занимались эвакуацией советских войск с Таманского полуострова. В сентябре 1943 года группа катеров-охотников в числе первых ворвалась в Цемесскую бухту, во время Новороссийской десантной операции, при этом получил тяжёлое ранение командир флагманского катера Ф. И. Усатенко. Командование принял на себя Г. И. Гнатенко, продолжив высадку десанта под ураганным огнём противника и затем вывел катер из порта Новороссийск.
Указом Президиума Верховного Совета СССР от 22 января 1944 года капитану 3-го ранга Гнатенко Григорию Ивановичу присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда» № 2902.
В апреле 1944 года Г. И. Гнатенко назначен командиром бригады сторожевых катеров.
В 1954 году он окончил Военно-морскую академию, служил в ВМФ СССР до 1956 года. Уволен в запас в звании капитана 1-го ранга.
Умер 3 февраля 1986 года. Похоронен в городе Ильичёвск.
14 июля 1987 года имя Г. И. Гнатенко было присвоено пограничному сторожевому кораблю.