Николай Ульянов родился в Санкт-Петербурге в 1904 году. В 1922 году он поступил на на общественно-педагогическое отделение факультета общественных наук/Ямфак в Петроградский государственный университет, а в 1925 перевелся на 4-й курс Историко-архивного цикла факультета языкознания и материальной культуры. Будучи студентом, одновременно с университетскими занятиями, посещал курсы сценического мастерства, а затем был направлен в Мариинский театр для практики, учился в Институте ритма совершенного движения, а затем на Курсах мастерства сценических постановок. Университет закончил в 1927 году, защитив дипломную работу «Влияние иностранного капитала на колонизацию русского севера в XVI—XVII вв.». В этом же году остался в аспирантуре по рекомендации его учителя академика С. Ф. Платонова.
По окончании университета подготовку к дальнейшей научной деятельности проходит до 1930 при Институте истории РАНИОН (Российская ассоциация научно-исследовательских институтов общественных наук), где его руководителями были С. В. Бахрушин и А. Е. Пресняков, состоял секретарем секции русской истории и секретарем комиссии по изучению эпохи торгового капитализма в России, работал в качестве секретаря редакции стенгазеты Института истории. 10 октября 1929 РАНИОН как организация ликвидировалась, а все аспиранты переводились в ведомство Коммунистической академии под непосредственное наблюдение М. Н. Покровского. Там его как ученика С. Ф. Платонова один из организаторов травли Платонова С. А. Пионтковский взял под свое персональное наблюдение.
За этот период Ульяновым были написаны несколько работ — «Торговая книга конца XVI в.», «Колонизация Мурмана в XVII в.», напечатанная в 1-м ном. «Исторического сборника Академии Наук» в 1934 году и «Общественно-политические воззрения Б. Н. Чичерина», составлен обзор архивных материалов по истории Кольского полуострова, напечатанный в «Кольском сборнике» Академии Наук в 1930 году, а также о восстании Разина, изданный брошюрой в Харькове в 1930 году. В справочнике «Вся Москва» за 1930 г. была опубликована его статья «Краткая история г. Москвы», в 1931 издана отдельной книгой «Разинщина», в которой он доказывает, что в Разинщине проявилась борьба крестьянства и казачества «за свободу торговли, за выход на рынок, за развитие буржуазных отношений, за переход к высшей сельскохозяйственной технике».
В 1930 Ульянов был командирован в Архангельск, где преподавал до 1933 года в Северном краевом комвузе им. В. М. Молотова, написав книгу «Очерки по истории народа Коми-Зырян» которая была издана в 1932 году, и за которую была в 1935 присуждена ученая степень кандидата исторических наук без защиты диссертации. В этой работе Ульянов развивал две темы: с одной стороны, боролся с российским великодержавным шовинизмом, с другой, с местным буржуазным национализмом, оценивал концепцию о мессианстве России как реакционную пошлость, экспансия русских в Сибирь и на Север допускалась им в сравнении с жестокостью колонизаторов Америки. Впоследствии он писал:
С 1933 по 1936 года он состоял старшим научным сотрудником Постоянной историко-археологической комиссии при Академии Наук в Ленинграде, будучи при этом доцентом кафедры истории СССР Ленинградского историко-лингвистического института (ЛИЛИ) и не прерывая активной творческой работы — в 1935 году была издана его книга «Крестьянская война в Московском государстве начала XVII в.». По совместительству он сотрудничал в Академии им. Н. Г. Толмачева, известной после перемещения в Москву как Военно-политическая академия им. В. И. Ленина. В феврале 1935 г. Ульянов становится заведующим одной из ведущих кафедр института — истории народов СССР.
7 ноября 1935 г. его статья «Советский исторический фронт», опубликованная в студенческой газете ЛИФЛИ, была посвящена анализу новой политики партии в историческом вопросе. В статье Ульянов умеренно критиковал тезис об усилении классовой борьбы по мере строительства социализма. Работу, тем более напечатанную в октябрьский праздник, заметили, было заведено следственное дело под номером 22240. 27 ноября 1935 исключен из ВКП(б), после чего уволен из института в связи с обвинениями в «троцкизме».
В первой половине 1936 г. непосредственно перед арестом он женился на Надежде Николаевне Калнишь, выпускнице Московского I-го медицинского института, с которой он познакомился годом раньше, во время одной из своих командировок в столицу (первый брак Ульянова еще в годы аспирантуры оказался кратковременным и неудачным, сохранилось упоминание о жалобах, подаваемых супругой на него в местком).
2 июня 1936 года был арестован НКВД и помещен в следственный изолятор на Шпалерной улице, где и пребывал до вынесения окончательного приговора. Ему было предъявлено обвинение на основании статей 58-10 и отягчающей 58-11. В итоге за «контрреволюционную троцкистскую деятельность» 15 сентября 1936 совещанием Коллегии НКВД СССР приговорен к 5 годам лагерей, для отбытия которых Ульянов направлялся в распоряжение Бел. Балтлага и прибыл 12 ноября 1936 г. на Соловки за номером У-2697/8. С 1939 г., ввиду обострившихся отношений с Финляндией, Соловецкая тюрьма, как близкая к театру военных действий, рассредоточивается на Новую Землю и в Норильск, куда и был перемещен в числе других Ульянов. В Норильске он обратился с ходатайством к властям о пересмотре дела, однако по решению от 29 января 1941 г. было постановлено «в пересмотре дела отказать».
Освобождён он был 2 июня 1941 год. Не успев доехать до дома, из-за начала военных действий был вынужден остаться в Ульяновске, где зарабатывал на жизнь ломовым извозчиком. В сентябре Ульянов был призван на окопные работы, но попал в плен к немцам под Вязьмой и был направлен в Дорогобужский лагерь, откуда ему удалось сбежать и пробраться в Ленинград. Там он разыскал свою жену. Вместе они поселились в деревне в Ленинградской области, где его жена стала работать врачом. В это время Ульянов начал работу над историческим романом «Атосса».
Осенью 1943 Ульяновы были отправлены оккупационными властями на принудительные работы в Германию, в лагерь Карлсфельд под Мюнхеном, где он работал сварщиком на заводе BMW, а его жена медиком в лагере. По окончании войны им удалось в 1947 году перебраться в Касабланку, где Николай Иванович устроился сварщиком на завод «Шварц Омон». Там он прожил до 1953 года, публикуя статьи в эмигрантской прессе под псевдонимом «Шварц-Омонский». Вскоре началась Холодная война. В 1952 году в «Чеховском издательстве» был издан первый исторический роман Ульянова — «Атосса», описывающий борьбу Дария со скифами. Американским комитетом по борьбе с большевизмом были сделаны попытки втянуть в эту борьбу и Ульянова, но он отказался, так как понимал, что в тех условиях борьба против советского режима была неотделима от борьбы с Родиной. Весной 1953 года он уехал в Канаду. Там он начал читать лекции в Монреальском университете. А с 1955 поселился в США, в Нью-Йорке, затем Нью-Хейвен в штате Коннектикут, где при содействии Г. В. Вернадского устроился лектором по русской истории и литературе в Йельском университете.
Умер Ульянов в 1985 году, похоронен на кладбище Йельского университета.
Главным научным трудом Ульянова стало исследование «Происхождение украинского сепаратизма», написанное уже в эмиграции. В нём Ульянов подробно рассматривает развитие движения за автономию и независимость Украины, происхождение и эволюцию украинской национальной идеи, начиная с периода запорожского казачества и заканчивая XX веком. Ульянов, в отличие от других русских исследователей Украины консервативного направления, усматривает истоки украинского сепаратизма не во влиянии Польши, а в явлении запорожского казачества. Кроме того, ему принадлежит ряд очерков.