В начале войны продолжал руководить этим училищем. С сентября 1942 года вступил в командование 52-й отдельной стрелковой бригадой. В составе 28-й армии Сталинградского фронта участвовал с ней в Сталинградской битве, в оборонительных и наступательных боях на элистинском направлении. С января 1943 года бригада в составе этой же армии Южного фронта в ходе Северо-Кавказской наступательной операции вела бои на реке Маныч в районе Егорлыкская, Сальск, Мечетинская, затем участвовала в освобождении городов Сальск и Ростов-на-Дону, в боях на реке Миус. В марте 1943 года полковник Шапкин был назначен начальником курсов младших лейтенантов этой же 28-й армии Южного (с 20.10.1943 — 4-го Украинского) фронта. В октябре 1943 года, в связи с переходом курсов на новые штаты, он был зачислен в резерв 28-й армии, затем в январе 1944 года назначен заместителем командира 39-й гвардейской стрелковой дивизии. В составе 28-го гвардейского стрелкового корпуса 8-й гвардейской армии 3-го Украинского фронта ее части принимали участие в Никопольско-Криворожской, Березнеговато-Снигиревской и Одесской наступательных операциях. С апреля 1944 года и. д. командира 195-й стрелковой дивизии, входившей в 6-й гвардейский стрелковый корпус 37-й армии (утвержден в должности приказом НКО от 15.01.1945). Летом 1944 года она участвовала в Ясско-Кишиневской наступательной операции, в прорыве сильно укрепленной обороны противника южнее города Бендеры. С выходом к реке Прут ее части сосредоточились в районе города Леова. В сентябре дивизия вошла на территорию Болгарии, к 28 сентября она сосредоточилась в 10 км южнее города Сливен. В период 15-17 октября 1944 года ее части передислоцировались в район Сядиево (7 км северо-восточнее Нова Загора), где находились до конца войны.