Алексей Ионов родился 18 февраля 1989 года в городе Кингисепп, Ленинградская область. Алексей начал заниматься футболом в возрасте 5 лет, в футбольной секции Василия Ивановича Бутакова. Воспитанник СДЮШОР петербургского «Зенита». С 2007 года - футболист дублирующего состава «Зенита», с 2008 года - основного состава. В Кубке УЕФА сезона 2007/08 Ионов забил 2 гола. Первый мяч - во втором отборочном раунде словацкому «ВиОну» на 93 минуте. Матч окончился со счетом 2:0. Второй гол был забит немецкому «Нюрнбергу» на 79 минуте, в 5-м туре группового раунда. Встреча закончилась со счетом 2:2.
За дублирующий/молодежный состав в 2007-2009 годах провел 47 игр, забил 12 голов. На тренировочных сборах, проводимых летом 2010 года, наигрывался на позицию левого защитника, хотя начинал карьеру в основном составе на позиции правого флангового нападающего.
В рамках группового этапа Лиги Европы сезона 2010/11 Ионов забил два гола - хорватскому «Хайдуку» и бельгийскому «Андерлехту». В Суперкубке России 2011 против ЦСКА забил победный гол на 73 минуте матча, который закончился со счетом 1:0 в пользу «Зенита».
Первый гол за «Зенит» в чемпионате России забил 17 апреля 2011 года на 20 минуте матча в ворота «Амкара». 14 июня в матче против «Ростова» забил на 12 секунде матча самый быстрый гол в истории «Зенита».
В январе 2012 года стали появляться слухи о возможном уходе Алексея Ионова. В начале января перешел в краснодарскую «Кубань». Сперва он играл под 14-м номером, затем выбрал 10. А в начале марта в гостевом матче против «Зенита» забил гол с пенальти и поклонился трибунам с болельщиками сине-белолубых. Алексей стал лидером команды и помог ей по результатам сезона 2012/2013 впервые попасть в еврокубки.
В 2013 году 3 июня подписал четырехлетний контракт с «Анжи». Однако заиграть в махачкалинской команде Ионову не удалось: проведя за нее лишь несколько матчей Алексей был выставлен на трансфер, в связи с тем, что «Анжи» объявил о смене вектора развития и решил избавиться от игроков с большой зарплатой.
В том же 2013 году 29 августа Ионов перешел в московское «Динамо». Как игрок позже признал, на его переход повлияло личное приглашение тренера Дана Петреску, с которым он ранее работал в «Кубани». Свой первый гол за московский клуб Ионов забил в 10-м туре в ворота «Рубина». В сезоне 2014/15 провел свой лучший сезон в карьере, забив 13 голов во всех турнирах.
В конце июня 2016 года было объявлено о переходе Ионова в ЦСКА на правах аренды сроком на один сезон с правом дальнейшего выкупа.
В 2006-2008 годах выступал за юношескую сборную России. В феврале 2009 года дебютировал в молодежной сборной России. В товарищеском матче со сборной Белоруссии Ионов вышел в стартовом составе и был удален на 76 минуте. В марте 2011 года получил вызов в национальную сборную России и дебютировал за нее 29 марта в товарищеском матче против сборной Катара, выйдя в основном составе. В том же году 11 августа дебютировал в составе второй сборной России в товарищеском матче против молодежной сборной России. В этом матче отметился забитым мячом, благодаря которому Россия-2 победила со счетом 2:1. Вошел в состав сборной России на чемпионат мира 2014 года в Бразилии.