Петр Афанасьевич Кулаков родился 16 июня 1923 г. в д.Покровка Уфимского района Республики Башкортостан. В марте 1941 года был призван в Советскую Армию Благовещенским райвоенкоматом. Участник Великой Отечественной войны с июня 1941 года.
Сержант Кулаков отличился в ходе Белорусской операции. 6 июля 1944 года в районе деревни Волма (Смолевичский район, Минская область) командир орудия 598-го артиллерийского полка (174-я стрелковая дивизия, 31-я армия, 3-й Белорусский фронт) со своим расчётом отразил несколько контратак противника, нанеся ему значительные потери в живой силе и технике, и удержал рубеж до подхода подкрепления.
20 июля 1944 года в Гродненском районе на берегу реки Неман расчёт Кулакова вступил в бой с пятью вражескими танками, подбив три из них. В этом же бою артиллеристы уничтожили 3 орудия, около 100 немецких солдат и офицеров.
24 марта 1945 года Указом Президиума Верховного Совета СССР за мужество и героизм П.А. Кулакову присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда».
После войны (1946) старший сержант Кулаков был демобилизован. В 1949 году окончил совпартшколу при ЦК Компартии Латвии, работал на советских и хозяйственных должностях.
Вернувшись в Уфу, трудился старшим машинистом газомоторных компрессоров на Уфимском нефтеперерабатывающем заводе имени XXII съезда КПСС.
Скончался 24 января 1994 года.
Награды: медаль «Золотая Звезда»; орден Ленина; орден Красного Знамени; орден Отечественной войны I степени; медаль «За отвагу»; медаль «За оборону Сталинграда».