Родился в д. Скачели ныне Батецкого района Новгородской области в семье крестьянина. Был рабочим на железной дороге. В Красной армии с 1919 г. В 1935–1937 гг. – командир железнодорожного полка НКВД.
После заочного окончания Военной академии имени М. В. Фрунзе в апреле 1937 года был назначен на должность командира 22-го Колымского стрелкового полка войск НКВД Приморского округа, а в июне 1940 года — на должность начальника штаба Управления пограничных войск НКВД Армянского округа.
Участник Великой Отечественной войны с июня 1941 г.
В ночь на 25 сентября 1943 г. части 24-го гвардейского стрелкового корпуса, которым командовал генерал-майор Васильев, первыми в армии с ходу форсировали Днепр севернее г. Верхнеднепровск (Украина), захватили и прочно удерживали плацдарм, успешно отбив ожесточенные контратаки противника.
Указом Президиума Верховного Совета СССР от 26 октября 1943 г. за умелое командование войсками корпуса, образцовое выполнение боевых заданий командования на фронте борьбы с немецко-фашистскими захватчиками и проявленные при этом мужество и героизм гвардии генерал-майору Васильеву Н. А. присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда» (№ 1335). После войны продолжал службу в армии.
С 1968 г. Васильев – в отставке в звании генерал-лейтенанта. Жил в Москве. Награжден двумя орденами Ленина, двумя орденами Красного Знамени, орденом Кутузова I и II степеней, двумя орденами Суворова II степени, орденом Красной Звезды, медалями.