Александр Горшков родился 8 февраля 1970 года в городе Кировск, Украина. Занимался футболом с 14 лет. Тренировался в футбольной школе города Кировска, затем в футбольной школе города Стаханов, тренер Александр Николаевич Новиков. Привлекался в состав сборной России и сборной Украины.
Выступал за петербургский «Зенит», в 253 играх забил 30 голов. В 2007 году, когда «Зенит» стал чемпионом России, Горшков установил рекорд, став самым возрастным чемпионом за историю проведения чемпионата - на момент окончания чемпионата ему было 37 лет и 277 дней, а также первым футболистом, выигравшим в составе «Зенита» и кубок, и чемпионат.
В 2008 году 1 мая вышел в стартовом составе в полуфинальном матче кубка УЕФА против немецкого клуба «Бавария». 38-летний ветеран сыграл свой последний матч перед трибунами стадиона «Петровский», матч закончился со счетом 4:0. Последний матч в профессиональной карьере сыграл 6 августа 2008 года в 1/16 финала кубка России 2008/2009 против «Сибири», выступавшей в первом дивизионе. «Зенит» потерпел поражение со счетом 0:1 и покинул турнир.
Последний гол забил 14 марта 2007 года в рамках Кубка России против раменского «Сатурна». В 2009 году 12 апреля Александр Горшков вместе с Владиславом Радимовым прошел круг почета по стадиону «Петровский» в перерыве матча Чемпионата России с пермским «Амкаром».
В 2009 году 6 марта назначен тренером молодежного состава «Зенита». С 1 июня 2010 года стал тренером команды «Зенита» игроков 1993 года рождения. С 14 января по 1 февраля 2011 года занимал пост главного тренера калининградской «Балтики». В 2012 году 5 марта назначен на пост главного тренера «Нижнего Новгорода». В феврале 2013 года стал помощником главного тренера «Амкара» Рустема Хузина.
О назначении Александра Горшкова на пост главного тренера раменского «Сатурна» стало известно 16 июня 2014 года. В сентябре того же года руководство клуба приняло решение отстранить его от занимаемой должности из-за неудовлетворительных результатов команды в Чемпионате. Впоследствии стал помощником главного тренера «Амкара» Рустема Хузина.
Женат. Воспитывает двоих детей: сына Алексея и дочь Анастасию.