Антон родился 2 апреля 1984 года в Кимрах Тверской области. Мальчику было около девяти месяцев, когда его дедушка забрал внука в Брянскую область, где воспитывал его вместе с бабушкой, работавшей сварщицей на заводе. Дедушка подрабатывал плотником. Антону дал свою фамилию – Горшков. Родного отца мальчик так и не узнал, хотя и пытался его разыскать, когда стал старше.
Когда мама вышла замуж во второй раз, а Антону пришло время идти в школу, мальчику дали фамилию отчима – Шагин. Рос Антон в неблагополучном районе, в одном интервью вспоминал:
"Мы жили на окраине города, и различные криминальные элементы передо мной так или иначе, всплывали. В моем доме, в соседнем подъезде, жили преступники, они довольно редко были дома, но в те недолгие недели, которые они проводили на свободе, я за ними наблюдал – это совершенно другой мир. Я немногое помню, но и то, что помню, даже побоюсь озвучивать, потому что это какие-то нечеловеческие действия по отношению к соседям и родным".
В девяностые годы мама развелась с отчимом и, чтобы как-то прокормить семью, занялась челночничеством, возила товар на Черкизовский рынок Москвы. В одну из таких поездок женщины не стало. Домой ее в закрытом гробу привез дедушка. Он так и не рассказал, при каких обстоятельствах погибла мама Антона, которому на тот момент исполнилось 14 лет. Лишь проговорился, что когда ее обнаружили, все тело было в кровоподтеках.
Глубоко переживая трагедию, подросток стал прогуливать уроки, дерзил учителям, перестал учиться. Дирекция школы посоветовала бабушке Антона отправить его в ПТУ. Там Шагин получил профессию слесаря. И там же увлекся самодеятельностью, стал участвовать в концертах, театрализованных постановках.
Первым настоящим удивлением Шагина стало его поступление в Школу-студию МХАТ наравне с Максимом Матвеевым, Мирославой Карпович, Екатериной Вилковой. Все вместе они стали учиться на курсе Игоря Золотовицкого и Сергея Земцова. Окончив вуз в 2006 году, Шагин стал служить в Российском академическом молодежном театре. Его первыми ролями на сцене стали Мале в «Красном и черном», а также Слепцов в «Береге утопии».
Его дебют в кинематографе состоялся в 2007 году, когда он сыграл Крота в криминальной драме «Тиски». Сразу же после этого режиссер Валерий Тодоровский предложил актеру воплотить образ Мэлса Бирюкова в его мюзикле «Стиляги» и о Шагине заговорили, как о новой звезде российского кино.