Родился 15 июня 1915 года в деревне Кайвакса Тихвинского района Ленинградской области в семье крестьянина. Русский. Окончил 7 классов.
В РККА с 1933 года. В 1936 году окончил Ленинградскую артиллерийскую школу. Учился в Военной академии имени М. В. Фрунзе. Член ВКП(б) с 1938 года.
Участник Великой Отечественной войны с 1941 года. Участвовал в обороне Москвы в составе 5-й армии Западного фронта. Возглавлял разведывательные операции в тылу врага.
С 1943 года майор Фёдоров — заместитель командира разведывательно-диверсионного отряда «дяди Димы», действовавшего в Минской области. Активно участвовал в подготовке операции по ликвидации генерального комиссара Белоруссии Вильгельма Кубе.
С января 1944 года — командир партизанского отряда, действовавшего в районе городов Ковель, Владимир-Волынский, Хелм (Польша). 17 апреля 1944 года погиб в бою в районе хутора Войсковице близ города Хелм.
Указом Президиума Верховного Совета СССР от 21 ноября 1944 года «за образцовое выполнение боевых заданий в тылу врага, особые заслуги в развитии партизанского движения и проявленные при этом отвагу и геройство» майору Фёдорову Николаю Петровичу было посмертно присвоено звание Героя Советского Союза.
Похоронен в городе Хелм (Польша).
Именем Н. П. Фёдорова названа средняя школа № 1 в городе Тихвин. Мемориальные доски установлены в деревне Кайвакса и на здании тихвинской школы № 1.
О партизанской операции по ликвидации генерального комиссара Белоруссии Вильгельма Кубе рассказано в записках и повестях. В 1958 году на киностудии Мосфильм был снят художественный фильм «Часы остановились в полночь».