Николай Дмитриевич Власов родился 25 августа 1923 года в деревне Старое Село Смоленской губернии (ныне Ярцевский район Смоленской области). Окончил школу, работал в колхозе. В 1940—1941 годах работал лаборантом молочного завода. С началом войны и приближением немецких частей вместе с заводом эвакуирован в Казахстан (Актюбинская область).
В армию призван в 1942, на фронте с 1943 года.
В дни подготовки к переходу советских войск в контрнаступление в районе города Севск Брянской области сапёр Власов снял и обезвредил 378 вражеских мин.
А 15 октября 1943 года в районе посёлка Лоев Лоевского района Гомельской области Белоруссии Николай Власов при форсировании реки Днепр одним из первых на десантной лодке доставил стрелков на правый берег реки и пошёл с ними в атаку. Принимал участие во взятии вражеской траншеи. Подобрал пять раненых советских бойцов и переправил их на левый берег Днепра. И так весь день — на фронт с солдатами, в тыл с ранеными.
30 октября 1943 года указом Президиума Верховного Совета СССР за образцовое выполнение боевых заданий командования на фронте борьбы с немецко-фашистскими захватчиками и проявленные при этом мужество и героизм Власову Николаю Дмитриевичу присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда» (№ 1627).
Служил в 170-го отдельном инженерно-сапёрном батальоне 14-й инженерно-сапёрной бригады 65-й армии.
После войны — в запасе, живёт в городе Липецк.