Роман Кулаков родился 15 сентября 1976 года в станице Ессентукская Ставропольского края. После окончания станичной средней школы, Роман Кулаков поступил в Кисловодское профессиональное техническое училище. В Вооруженных Силах Российской Федерации с 4 марта 1995 года. Был направлен в город Ульяновск в 104-ю гвардейскую воздушно-десантную дивизию.
Служил Роман в 1- м батальоне, 1-й парашютно-десантной роте, 328-го парашютно-десантного полка. Рота считалась элитной, поэтому отбирали в нее лучших из лучших. В ноябре 1995 года Роман Кулаков добровольно со сменой группировки от 104-й гвардейской воздушно-десантной дивизии отправился проходить дальнейшую службу в Чеченскую Республику.
Двигаясь в составе колонны, в районе села Сержень-Юрт, 30 марта 1996 года, подразделение в составе которого находился Роман Кулаков попало в засаду. Прикрывая своих товарищей, Кулаков вел огонь из башни БМД-1. После попадания в БМД нескольких выстрелов гранатомета не покинул горящую машину, а продолжал вести огонь еще продолжительное время, в результате уничтожил несколько огневых точек противника. Бой длился 8 часов.
Когда пулемет Романа Кулакова смолк, его боевые товарищи вытащили его из машины, он был еще жив, но тяжело ранен в голову и плечо. На первом блокпосту всех раненых понесли к врачам, но Романа Кулакова спасти не удалось.
Указом Президента Российской Федерации от 19 октября 1996 года Кулакову Роману Ивановичу посмертно присвоено звание Героя Российской Федерации
Похоронен в станице Ессентукская.