Родился в 1912 году в селе Левая Россошь ныне Каширского района Воронежской области в семье крестьянина. Русский. С 1918 года жил в городе Омске, окончил школу семилетку. С 1933 работал на мебельной фабрике станции Кишлы (Бакинского горсовета) рабочим. С 1938 жил в городе Куйбышев Новосибирской области, работал старшим мастером, начальником цеха на мясокомбинате.
В 1941 году был призван в Красную армию Куйбышевским райвоенкоматом Новосибирской области. На фронте стал артиллеристом, командиром противотанкового орудия. Боевое крещение получил в боях под Москвой. Сражался на Курской дуге, форсировал Днепр.
6 июля 1943 года расчет под командованием Агафонова в составе 869-го истребительного противотанкового полка одним из первых принял на себя танковый удар противника на Обоянском направлении. В районе села Верхопенье артиллеристы остановили вражеские танки. Агафонов, встав за наводчика, лично подбил две бронированные машины. За этот бой был награжден орденом Красной Звезды. Вскоре, уже когда шло наступление, был ранен.
После госпиталя вернулся на фронт, когда шла битва за Днепр. Воевал командиром орудия 1-й батареи 1840-го истребительного противотанкового полка. За бои на Лютежском плацдарме награжден медалью «За боевые заслуги». Особо отличился в наступательных боях в ноябре 1943 года.
В ночь на 13 ноября противник у села Шевченковка (Васильковский район Киевской области) 17 вражеских танков прорвались в тыл наших войск. В темноте они вышли прямо на огневые позиции батареи 1840-го истребительно-противотанкового артиллерийского полка. Расчёт Агафонова первым принял бой, огонь открыли в упор, ориентируясь по вспышкам выстрелов и движущимся тёмным силуэтам. Вражеские танки метались по позиции батареи, давили орудия, утюжили окопы.
Из всей батареи продолжало вести огонь только орудие Агафонова. Он один остался из расчета, сам заряжал, сам наводил, сам стрелял, продолжая посылать снаряд за снарядом. В неравном поединке отважный артиллерист поджёг 3 танка, остальные отвернули в сторону. Но следом шла пехота и Агафонов опять встал к орудию.
Командир полка, представляя старшего сержанта Агафонова к высокому званию, писал:
Пока ходили по инстанциям документы, наступление продолжалось. Через месяц в боях за станцию Чоповичи под городом Коростенем старший сержант Агафонов подбил еще один вражеский танк и уничтожил более десятка гитлеровцев. Был награжден орденом Красной Звезды.
Указом Президиума Верховного Совета СССР от 9 февраля 1944 года за образцовое выполнение заданий командования и проявленные мужество и героизм в боях с немецко-фашистскими захватчиками гвардии старшему сержанту Агафонову Якову Григорьевичу присвоено звание Героя Советского Союзас вручение ордена Ленина и медали «Золотая Звезда» (№ 2412).
Высокие награды Родины получил в июне 1944 года, накануне начала Львовско-Сандомирской операции. 19 августа 1944 года в бою за предместье Варшавы — Прагу, гвардии старшина Агафонов погиб. Похоронен на месте боя.