Родился 10 марта 1923 года в деревне Красная Пустынь ныне Сергачского района Нижегородской области в семье крестьянина. Русский.
Вскоре после рождения Николая семья переехала в город Шахты Ростовской области, где отец стал работать на одной из шахт. Николай окончил Шахтинскую среднюю школу № 30. Увлекся авиацией, днями пропадал в местном аэроклубе. Окончив десятилетку, поступил в Ейское авиационное училище, готовившее летчиков для ВМФ. В училище и застала его война.
С 1941 года — в Красной Армии. Окончил Ейское военно-морское авиационное училище в 1943 году. В боях Великой Отечественной войны младший лейтенант Шапкин с 1943 года. Весь боевой путь лётчика прошел в составе 15-го разведывательного авиационного полка ВВС Балтийского флота. Принимал участие в Ленинградско-Новгородской, Выборгской, Прибалтийской и Восточно-Прусской наступательных операциях. Летал на самолётах «Як-1», «Як-7», «Як-9». Являлся членом ВКП(б).
К февралю 1944 года Шапкин совершил 120 успешных боевых вылетов на разведку военно-морских баз и морских коммуникаций врага. После получения высшей награды Родины продолжал сражаться с врагом. С сентября 1944 года — командир звена. За время Великой Отечественной войны совершил 266 боевых вылетов на дальнюю и ближнюю разведку, произвел 30 аэрофотосъемок различных военных объектов, доставил командованию много важных сведений о противнике. В составе экипажа сбил 3 самолёта врага. Среди наиболее успешных достижений лётчика — выявление весной 1944 года расположения противолодочных сетей в Финском заливе, которыми немецкое командование блокировало советские подводные лодки в Ленинграде.
5 марта 1945 года при выполнении боевого задания по разведке кораблей противника в Данцигской бухте старший лейтенант Н.В. Шапкин погиб в воздушном бою с истребителями врага. Похоронен на кладбище села Мурино Всеволожского района Ленинградской области.
Пожелтевшая фронтовая листовка так характеризуют молодого летчика:
«Тов. Шапкин ? лучший воздушный разведчик в Балтике, пример стойкости и бесстрашия духа. На боевом счету Н. В. Шапкина значится 270 успешных боевых вылетов и 3 сбитых самолета противника. Каждый коммунист и комсомолец должен считать за образец беззаветного служения Родине члена ВКП(б) Героя Советского Союза Н. В. Шапкина».