Николай Дмитриевич Яковлев родился в городе Старая Русса ныне Новгородской области. Из мещан. Русский. В Российскую армию призван в 1916 году. Окончил учебную команду в 1917 году, участвовал в Первой мировой войне, младший унтер-офицер 268-го Пошехонского полка, 67-й пехотной дивизии, 35-го армейского корпуса.
В Красной армии с 1918 года. В Гражданской войне был делопроизводителем в штабе, затем командовал взводом и ротой. В 1920 году окончил 2-е Петроградские артиллерийские курсы.
В мае 1921 года назначен адъютантом 32-го гаубичного артдивизиона, в июне того же года — 28-го сводного тяжелого гаубичного артдивизиона, в декабре того же года — 28-й Царицынской стрелковой дивизии, с апреля 1922 года — 28-й горнострелковой дивизии. С июня того же года — помощник командира отдельной гаубичной батареи в 28-й горнострелковой дивизии. С сентября 1923 года — заместитель начальника 28-го артиллерийского дивизиона. Член ВКП(б) с 1923 года.
В 1924 году окончил Высшую артиллерийскую школу командного состава. С ноября того же года — командир артиллерийской батареи в 28-й горнострелковой дивизии, затем долго служил в этой дивизии: политрук дивизиона (февраль 1925), помощник командира 3-го дивизиона (октябрь 1925), командир и военком 3-го артдивизиона (январь 1926), командир артидивизиона в дивизионной артшколе (октябрь 1926), начальник штаба 13-го артиллерийского полка (апрель 1929) и 28-го артполка (с января 1930), командир и военком 9-го корпусного артполка (апрель 1931). С 1934 года — начальник артиллерии Полоцкого укреплённого района в Белорусском военном округе. С 1937 года последовательно был начальником артиллерии Белорусского военного округа, Северо-Кавказского военного округа, Киевского особого военного округа.
Участвовал в походе Красной армии на Западную Украину в 1939 году (начальник артиллерии Украинского фронта) и в Советско-финской войне (командующий артиллерии 7-й армии).
С 14 июня 1941 по 1946 годы был начальником Главного артиллерийского управления РККА, занимался обеспечением артиллерии новыми видами вооружений и боеприпасов, обобщением боевого опыта и разработкой новых форм боевого применения артиллерии, налаживанием взаимодействия артиллерии с иными видами войск. Часто выезжал на фронты в действующую армию, принимал участие в подготовке и проведении ряда крупных операций. Воинское звание маршал артиллерии присвоено 21 февраля 1944 года.
С 1946 года Яковлев был начальником Главного артиллерийского управления — первым заместителем командующего артиллерией Советской армии. С ноября 1948 года — заместитель Министра Вооружённых сил СССР. В начале 1952 года был снят с этой должности, а в феврале арестован по обвинению во вредительстве, а также лишён звания маршала артиллерии. Был освобождён и восстановлен в звании одним из первых, сразу после смерти И. В. Сталина в апреле 1953 года по предложению ещё Л. П. Берия.
С 1953 года — первый заместитель командующего, а с января 1955 года — Главнокомандующего Войсками ПВО страны. С декабря 1960 года служил военным инспектором-советником в Группе генеральных инспекторов Министерства обороны СССР. Депутат Верховного Совета СССР 2-го созыва (1946—1950).
Сын — Яковлев, Николай Николаевич (1927—1996), историк. Сын — Яковлев, Сергей Николаевич (1944—1991), театровед.