Дебютировав за «Шеффилд Юнайтед», Уокер перебрался в «Тоттенхэм». За лондонцев выступал до 2017 года (229 матчей, 4 гола), дважды отправляясь в аренду – в «Куинз Парк Рейнджерс» и «Астон Виллу».
По-настоящему закрепил за собой статус одного из самых сильных английских игроков своего поколения, когда присоединился к «Манчестер Сити». В составе «горожан» в ранге капитана он завоевал 17 трофеев – шесть титулов АПЛ, четыре Кубка лиги, два Кубка Англии, два Суперкубка Англии, одну Лигу чемпионов, один Суперкубок Европы и один чемпионат мира. В 319 матчах за «Сити» забил 6 голов и отдал 23 результативные передачи. В составе сборной Англии принял участие в трех чемпионатах Европы (2016, 2021, 2024), в последних двух добрался до финала, а также в двух чемпионатах мира (2018, 2022).