Николай Павлович Пухов родился 25 января 1895 года в селе Гришово ныне Бабынинского района Калужской области. Русский.
В русской армии с 1916 года. Во время Первой мировой войны начальник конной разведки полка, прапорщик. В Красной Армии с 1918 года. Участник Гражданской войны в России. В 1924—1929 гг. — командир стрелкового полка. До весны 1938 года на преподавательской работе. С марта 1938 по апрель 1939 года — начальник Харьковского бронетанкового училища.
В начале Великой Отечественной войны войны Н. П. Пухов командовал 304-й стрелковой дивизией. В январе 1942 года назначен командующим 13-й армией, которая в составе различных фронтов участвовала в Воронежско-Касторненской операции, Курской битве, освобождении Украины, Висло-Одерской, Нижне-Силезской, Верхне-Силезской, Берлинской и Пражской операциях.
После войны продолжал командовать армией, затем военными округами. С июня 1957 года — Главный военный советник Румынской Народной Армии.
Командующий 1-м Украинским фронтом, в составе которого долгое время сражалась 13-я армия, Иван Степанович Конев так отзывался о Н. П. Пухове:
Шесть орденов I степени «трех великих предков» — это рекорд, другого кавалера имеющего такое количество орденов нет.