Сергей Ульянов родился в 1918 году в деревне Тухань (ныне — Киришский районЛенинградской области[1]). После окончания десяти классов школы работал на лесозаводе. В 1938 году Ульянов был призван на службу в Рабоче-крестьянскую Красную Армию. Участвовал в боях советско-финской войны. С начала Великой Отечественной войны — на её фронтах.
К апрелю 1945 года гвардии старшина Сергей Ульянов командовал взводом управления 223-го гвардейского пушечного артиллерийского полка 16-й гвардейской пушечной артиллерийской бригады 2-й артиллерийской дивизии 3-го артиллерийского корпуса прорыва 5-й ударной армии1-го Белорусского фронта. Отличился во время штурма Берлина. 26 апреля 1945 года Ульянов, обнаружив немецкий станковый пулемёт, подорвал его гранатой вместе с расчётом. В том бою он погиб. Похоронен в Берлине.
Герои Советского Союза: Краткий биографический словарь / Пред. ред. коллегии И. Н. Шкадов. — М.: Воениздат, 1988. — Т. 2 /Любов — Ящук/. — 863 с. — 100 000 экз. — ISBN 5-203-00536-2.