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