↑ Количество игр и голов за профессиональный клуб считается только для различных лиг национальных чемпионатов, обновлено по состоянию на 30 апреля 2023 года.
↑ Количество игр и голов за национальную сборную в официальных матчах.
Воспитанник московского «Локомотива». Проведя успешный сезон в первом дивизионе за московское «Торпедо», обратил на себя внимание скаутов клубов премьер-лиги, после чего вернулся в стан «Локомотива». В марте 2009 года был отдан в аренду екатеринбургскому «Уралу», тем самым вернувшись в родную Свердловскую область. Провёл за «Урал» 12 матчей, после чего перешёл на правах аренды в клуб «Чита», в состав которого был дозаявлен 4 августа[5].
В ноябре 2009 года, после окончания турнира первого дивизиона, вернулся в расположение «Локомотива»[6]. По словам главного тренера «Локомотива-2» Евгения Харлачёва, должен был играть за его команду в 2010 году[7], однако был внесён в заявку основной команды[8].
Сыграв в нескольких матчах за основу «Локомотива» в чемпионате России 2010 года[8], в конце июля был приглашён в молодёжную сборную России и мог дебютировать за неё 11 августа в матче против сборной Латвии в рамках отборочного турнира чемпионата Европы 2011 года среди молодёжных сборных[9], однако остался в запасе. Россия выиграла — 2:1[10].
В августе 2011 года на правах аренды перешёл в «Ростов»[11].
В июне 2012 года, воспользовавшись пунктом в контракте, перешёл в «Краснодар»[12].
13 августа 2013 года «Зенит» и «Краснодар» достигли договорённость о переходе Смольникова. Трансфер обошёлся вице-чемпионам страны в 6 миллионов евро.
Первый матч за «Зенит» провёл 17 августа 2013 года против «Анжи»[13], а 9 августа 2014 года забил свой первый мяч за клуб[14].
13 сентября 2014 года забил решающий гол «Динамо» (3:2) в концовке матча.
За «Зенит» провёл 198 матчей, забил 10 мячей, отдал 11 результативных передач и покинул команду в июле 2020 года[15].
29 июля 2020 года после окончания контракта перешёл в «Краснодар».
23 июля 2021 года на правах свободного агента перешёл в тульский «Арсенал»[16].
16 июля 2022 года вернулся в московское «Торпедо», подписав однолетний контракт[17]. 27 декабря контракт был расторгнут[18].
8 февраля 2023 года вернулся в московский «Локомотив» и подписал контракт до конца сезона[19].
Жена — Екатерина Смольникова, журналист по образованию, ведёт передачу «Zenit Family» на YouTube-канале клуба, занимается благотворительностью. Два сына, занимаются в футбольных школах[20].
Смольников обладает закрытым характером, неразговорчив, не использует соцсети и не любит давать интервью[20].
Участник юношеского чемпионата Европы 2007 (U-19) в составе сборной России 1988 года рождения, которая в ходе отборочных матчей сумела обыграть команды сверстников из Англии и Чехии, сыграла вничью с голландцами. На самом турнире российские юноши выступили неудачно, потеряв шансы на выход из группы уже после двух матчей.
За национальную сборную дебютировал в товарищеском матче со сборной Южной Кореи 19 ноября 2013 года[21].
Участник чемпионата Европы 2016 года во Франции, домашнего Кубка конфедераций 2017 года и чемпионата мира 2018 года. На чемпионате мира в матче с Уругваем (0:3) получил две жёлтые карточки и был удалён с поля ещё в первом тайме. После чемпионата мира сыграл за сборную один товарищеский матч осенью 2018 года, после чего больше не выступал за национальную команду, вплоть до 2020 года.
11 мая 2021 года был включён в резервный список сборной России для подготовки к чемпионату Европы 2020 года[26], но в окончательную заявку на турнир не попал.