В феврале 1942 года назначен командиром 51-й отдельной стрелковой бригады этой же 4-й ударной армии Калининского фронта. В апреле на базе бригады была сформирована 119-я стрелковая дивизия, а полковник Кулагин утвержден ее командиром. В начале сентября 1942 года дивизия вошла в состав вновь сформированной 5-й танковой армии 2-го формирования резерва Ставки ВГК. 22 сентября она в составе армии была подчинена Брянскому фронту, а 29 октября передана Юго-Западному фронту. В его составе участвовала в контрнаступлении под Сталинградом. В ноябре месяце он был отстранен от должности и зачислен в распоряжение Военного совета Юго-Западного фронта. 7 декабря 1942 года допущен к командованию 35-й гвардейской стрелковой дивизией 1-й гвардейской армии, «пленил и уничтожил противника в районе Арбузовка, Жуковка» (из боевой характеристики), за что был награжден орденом Суворова 2-й степени. В дальнейшем командовал этой дивизией в составе 1-й гвардейской и 6-й армий Юго-Западного фронта. Участвовал с ней в наступательных и оборонительных боях на Донбассе, затем в составе 8-й гвардейской армии 3-го Украинского, 1-го Белорусского фронтов — в битве за Днепр, Никопольско-Криворожской, Березнеговато-Снигирёвской, Одесской, Белорусской наступательных операциях, в освобождении городов Апостолово, Николаев, Одесса (Украина), Парчев, Магнушев (Польша). С декабря 1944 года по апрель 1945 года находился на учебе в Высшей военной академии им. К. Е. Ворошилова, затем до конца войны состоял в резерве Ставки ВГК (прикомандирован к этой же академии).