Родился 8 мая 1962 г. в п. Ясное Славского района Калининградской области.
В 1985 г. окончил Ленинградский институт авиационного приборостроения (ныне - Санкт-Петербургский государственный университет аэрокосмического приборостроения) по специальности "авиационное приборостроение"; в 1999 г. - Северо-Западную академию государственной службы при президенте РФ (ныне - Северо-Западный институт управления — филиал Российской академии народного хозяйства и государственной службы при президенте РФ) по специальности "государственное и муниципальное управление"; в 2005 г. - факультет международных отношений Санкт-Петербургского государственного университета; в 2012 г. – Санкт-Петербургскую юридическую академию по специальности "юриспруденция".
Во время учебы в Ленинградском институте авиационного приборостроения возглавлял комсомольскую организацию факультета, руководил работой студенческих стройотрядов, участвовал в строительстве Саяно–Шушенской ГЭС, нефтепроводов в Коми АССР.
После института работал на производственном объединении "Ленинградский Северный завод" (сейчас - федеральное государственное унитарное предприятие "Ленинградский Северный завод"), был мастером, затем начальником цеха. Возглавлял комсомольскую организацию на предприятии.
В 1989 г. был избран первым секретарем районного комитета Всесоюзного ленинского коммунистического союза молодежи (ВЛКСМ) Приморского района Ленинграда (ныне – Санкт-Петербург).
В 1990 г. являлся одним из организаторов Союза ветеранов войны в Афганистане "Афганвет".
В 1997-2007 гг. - депутат Законодательного собрания Санкт-Петербурга первого, второго и третьего созывов. Во время работы в Заксобрании был координатором блока "Петербургские районы", руководил фракциями "Трехсотлетие города" и "Российская партия жизни", возглавлял комиссию по вопросам молодежи, спорта и туризма, был членом постоянной комиссии по социальным вопросам.
В 2005 г. стал председателем совета Санкт-Петербургского регионального отделения "Российской партии жизни" (с 2006 г. вошла в партию "Справедливая Россия: Родина/Пенсионеры/Жизнь"; с 2009 г. - "Справедливая Россия").
В 2006 г. был избран председателем совета регионального отделения политической партии "Справедливая Россия: Родина/Пенсионеры/Жизнь" по Санкт-Петербургу. Возглавлял региональное отделение "Справедливой России" до 2010 г. (на посту его сменила Оксана Дмитриева).
В 2007-2011 гг. - депутат Законодательного собрания Санкт-Петербурга IV созыва, избран от партии "Справедливая Россия". Был руководителем фракции "Справедливой России" и заместителем председателя комиссии Заксобрания по вопросам правопорядка и законности.
2 декабря 2007 г. баллотировался в Государственную думу РФ V созыва по федеральному списку партии "Справедливая Россия: Родина/Пенсионеры/Жизнь" (был четвертым номером в региональной группе №83, Санкт-Петербург). На выборах партия сумела преодолеть 7-процентный барьер, однако Олег Нилов по итогам распределения мандатов в нижнюю палату парламента не прошел.
В 2009 г. был включен в список президентского резерва управленческих кадров.
В 2011-2016 гг. – депутат Государственной думы РФ VI созыва. 4 декабря 2011 г. избран по списку партии "Справедливая Россия", возглавлял региональную группу №69 (Санкт-Петербург). Был заместителем руководителя партийной фракции, входил в комитет Госдумы РФ по транспорту.
Одновременно баллотировался в Законодательное собрание Санкт-Петербурга V созыва от партии "Справедливая Россия", после выборов отказался от мандата.
4 марта 2015 г. был вновь избран председателем Санкт-Петербургского регионального отделения "Справедливой России", после приостановления полномочий Оксаны Дмитриевой. 31 марта 2017 г. Нилова сменила Марина Шишкина.
18 сентября 2016 г. избран депутатом Государственной думы РФ VII созыва по списку партии "Справедливая Россия" (первый номер в региональной группе №50, Санкт-Петербург). Также баллотировался по Северо-Западному одномандатному избирательному округу №215. Заместитель руководителя партийной фракции, первый заместитель председателя комитета Госдумы РФ по контролю и Регламенту.
Тогда же был избран депутатом заксобрания Санкт-Петербурга VI созыва (был вторым номером в общей части списка "Справедливой России"), но от мандата отказался.
С 2021 г. - депутат Государственной думы РФ VIII созыва. Баллотировался от партии "Справедливая Россия - Патриоты - За правду" (быв. Справедливая Россия") в составе федерального списка кандидатов (возглавлял региональную группу №27, Санкт-Петербург) и по Северо-Западному одномандатному избирательному округу №215 Санкт-Петербурга. Был избран депутатом Госдумы 19 сентября 2021 г. по федеральному списку партии. В одномандатном округе занял второе место с результатом 23,64%, уступив кандидату от "Единой России" Николаю Цеду (33,34%).
С сентября 2021 г. - первый заместитель руководителя фракции "Справедливая Россия - За правду" Сергея Миронова.
С 12 октября 2021 г. - первый заместитель председателя комитета Госдумы по аграрным вопросам.
Секретарь президиума центрального совета партии "Справедливая Россия" (с 2021 г. - "Справедливая Россия - За правду") по тарифной и ценовой политике.
Вице-президент Федерации фигурного катания на коньках России. В 2001-2014 гг. был президентом Федерации фигурного катания на коньках Санкт-Петербурга. Также инициировал создание Академии фигурного катания на коньках в Санкт-Петербурге.
Отмечен Почетной грамотой президента РФ (2014).