Родился 21 ноября 1925 года в деревне Хорошеборка (на территории современного Топкинского района Кемеровской области). Окончил семилетнюю школу, работал в колхозе.
В Красную Армию призван в феврале 1943 году, учился в Кемеровском военном пехотном училище[2]. В августе 1943 года курсантов без присвоения звания направили в действующую армию. 4 сентября 1943 года красноармеец Степанов стал стрелком 6-й роты 2-го стрелкового батальона 212-го гвардейского стрелкового полка 75-й гвардейской стрелковой дивизии.
Гвардии рядовой Степанов 23 сентября 1943 года в составе взвода гвардии младшего лейтенанта Яржина первый форсировал реку Днепр и первый ворвался на пароход «Николаев», где вместе со взводом взяли в плен: пароход «Николаев», баржу с военно-инженерным имуществом, станковый пулемёт, миномёт и двух человек из команды парохода.
Участвуя в бою за деревню Ясногородка, гвардии рядовой Степанов показал образец геройства и отваги по истреблению немецких захватчиков. Лично уничтожил 16 немецких солдат и офицеров.
За героические подвиги при захвате парохода «Николаев» и форсировании реки Днепр достоин присвоения звания «Герой Советского Союза».
В 1945 году Степанов Н. П. демобилизовался из армии и возвратился в Кемерово. Работал на заводе «Кузбассэлектромотор» мастером, начальником отдела, был парторгом завода, избирался депутатом городского Совета. Умер 18 июня 1997 года[5][6].
Герои Советского Союза: Краткий биографический словарь / Пред. ред. коллегии И. Н. Шкадов. — М.: Воениздат, 1988. — Т. 2 /Любов — Ящук/. — 863 с. — 100 000 экз. — ISBN 5-203-00536-2.
Днепр — река героев. — 2-е изд., доп. — Киев: Изд. полит. лит Украины, 1988. — ISBN 5-319-00085-5.
О войне и товарищах. Сборник воспоминаний. — Красноград: АО «КМП», 1996. — 208 с. с илл. — 950 экз.