Родился 12 мая 1980 года в Москве.
В 2002 году окончил факультет журналистики Московского государственного университета им. М. В. Ломоносова по специальности «журналист-международник».
Во время учебы в университете был помощником депутата Государственной думы РФ от КПРФ Татьяны Астраханкиной, в 1998-1999 годы работал в комиссии Госдумы по расследованию событий сентября-октября 1993 года в Москве, которую возглавляла Астраханкина. Затем был помощником депутата Госдумы от партии «Яблоко», журналиста Юрия Щекочихина.
В 2002-2003 годы работал специальным корреспондентом в отделе расследований «Новой газеты».
В 2003-2007 годы был обозревателем в «Независимой газете», где вел проект «Свежая кровь» (в нем печатались работы молодых писателей). Также в этот период публиковал свои статьи в газете «Завтра» (вел блог «Шаргуновости») и в сетевом издании «Русский журнал».
В 2004 году стал сооснователем молодежного движения «Ура!», которое сотрудничало с партией «Родина» (председатель — Дмитрий Рогозин). В 2005 году Сергей Шаргунов возглавил молодежное крыло партии (Союз молодежи «За Родину!»), сменив Олега Бондаренко. Был организатором ряда уличных политических акций (против принятия закона о «монетизации льгот», против визита в Москву президента Латвии, в защиту предпринимателей от бюрократии и др.). Был членом партии «Родина».
В 2006 году «Родина», Российская партия пенсионеров и Российская партия жизни объединились в партию «Справедливая Россия» (лидер — Сергей Миронов). На основе Союза молодежи «За Родину!» было образовано молодежное крыло новой партии, получившее название «Ура!». Шаргунов стал его руководителем.
С 2006 года состоял в «Справедливой России».
В сентябре 2007 году был выдвинут в депутаты Государственной думы РФ V созыва в составе федерального списка партии. Был включен третьим номером в общую часть списка после Сергея Миронова и Светланы Горячевой. Однако в октябре того же года был исключен из числа кандидатов. По словам секретаря президиума «Справедливой России» Александра Бабакова, Шаргунов «не справился с ответственностью, возложенной на него партией». По сообщениям СМИ, причиной могли послужить негативные высказывания журналиста в адрес официальных российских властей, высказанных им ранее в статьях и публикациях. После этого Сергей Шаргунов покинул ряды «Справедливой России».
В 2008 году в качестве журналиста находился в зоне боевых действий во время конфликта в Южной Осетии.
С 2012 года по настоящее время является главным редактором общественно-политического интернет-издания «Свободная пресса».
С 2013 года — колумнист радиостанции «Коммерсант FM». Также ведет блог на сайте радиостанции «Эхо Москвы».
С сентября 2015 года по май 2016 год был ведущим общественно-политического ток-шоу «Процесс» на телеканале «Звезда».
В 2014-2016 годы посещал Донбасс и Сирию в качестве журналиста для освещения военных действий.
В 2016-2021 годы – депутат Государственной думы РФ VII созыва. 18 сентября 2016 года был избран в Госдуму по списку КПРФ (первый номер в региональной группе №2, Республики Алтай, Бурятия и Тыва, Алтайский край). Баллотировался также по Коркинскому одномандатному избирательному округу №191 Челябинской области. В округе занял третье место, набрав 7,89% голосов, после Анатолия Литовченко от «Единой России» (37,73%) и Валерия Гартунга от «Справедливой России» (34,51%). В нижней палате парламента вошел в состав партийной фракции, при этом членом КПРФ не является. С 24 января 2019 г. — заместитель председателя комитета ГД по культуре.
С 2021 года — депутат Государственной думы РФ VIII созыва. Был избран 19 сентября 2021 года от партии КПРФ по федеральному округу. Был выдвинут под 11-м номером общефедеральной части списка кандидатов от партии, однако после исключения из нее Павла Грудинина фактически баллотировался под десятым номером. С 12 октября 2021 года — первый заместитель председателя комитета Госдумы РФ по культуре.