Родился 27 января 1966 года в городе Туле в семье военного.
В 1989 году окончил экономический факультет Московского государственного университета (МГУ) им. М. В. Ломоносова по специальности «политическая экономия».
В 2002 году окончил Российскую Академию государственной службы при президенте РФ по специальности «юриспруденция».
Кандидат экономических наук. В 1993 году в МГУ защитил диссертацию на тему «Концепции будущего общества в экономических теориях русского анархизма».
В 1990 году был избран депутатом Тульского городского совета народных депутатов.
В 1990-х годах возглавлял ассоциацию молодых экономистов и политиков «Новое поколение«.
В 1995 году был избран председателем тульского областного отделения Конгресса русских общин (КРО).
В 1993 и 1995 годы баллотировался в Государственную думу РФ I и II созывов, однако избран не был.
В 2003 году работал советником генерального директора — генерального конструктора ФГУП «Российская самолетостроительная корпорация «МиГ».
7 декабря 2003 года баллотировался от КПРФ в Государственную думу РФ IV созыва (в составе региональной группы «Южно-Черноземная»; Белгородская, Воронежская, Курская обл.). По итогам распределения мандатов в парламент не прошел.
Затем исполнял обязанности ведущего научного сотрудника Института международных экономических и политических исследований Российской академии наук, руководителя Центра исследований экономических кризисов и вооруженных конфликтов.
В 2005 году был консультантом КПРФ по экономическим вопросам, советником заместителя председателя Государственной думы РФ IV созыва Валентина Купцова.
В 2005 году избран депутатом Белгородской областной думы IV созыва от регионального отделения КПРФ. Входил в состав комитета по бюджету, финансам и налоговой политике.
Одновременно с исполнением обязанностей депутата Белгородской облдумы в 2007 года был советником генерального директора ОАО «Воронежское акционерное самолетостроительное общество» Михаила Шушпанова.
2 декабря 2007 года Сергей Гаврилов был избран в Государственную думу РФ V созыва (баллотировался в Воронежской области в составе региональной группы федерального списка кандидатов КПРФ). Член фракции КПРФ. С января по май 2008 года — заместитель председателя думского комитета по информационной политике, информационным технологиям и связи. С 2008 по 2011 года — заместитель председателя комитета по транспорту, курировал вопросы авиационного комплекса.
4 декабря 2011 года избран депутатом Государственной думы VI созыва в составе федерального списка кандидатов, выдвинутого КПРФ (региональная группа № 37, Воронежская обл.). Член фракции КПРФ. С 21 декабря 2011 года по 5 октября 2016 год — председатель комитета Госдумы по вопросам собственности. С 2012 года был координатором межфракционной депутатской группы по защите христианских ценностей. Также возглавлял межфракционную депутатскую группу по взаимодействию с Верховным советом непризнанной Приднестровской республики.
В 2014 году был наблюдателем от российского парламента на президентских выборах в Сирии.
С 18 сентября 2016 года — депутат Госдумы РФ VII созыва, избранный по списку КПРФ. На выборах возглавлял региональную группу №17 (Белгородская и Воронежская обл.). С 5 октября 2016 года — председатель комитета по развитию гражданского общества, вопросам общественных и религиозных объединений (до 14 декабря 2016 года — комитета по делам общественных объединений и религиозных организаций). Заместитель председателя Комиссии ГД по правовому обеспечению развития организаций оборонно-промышленного комплекса РФ. С 2017 годп — координатор межфракционной депутатской группы по защите христианских ценностей.
С 26 июня 2018 года — президент Межпарламентской ассамблеи православия (МАП; переизбран 17 сентября 2020 г.).
С 2021 году — депутат Государственной думы РФ VIII созыва. Был избран 19 сентября 2021 года от партии КПРФ по федеральному округу (на выборах возглавлял региональную группу №18, Белгородская, Воронежская обл.).