Дебютировал в «Зените» в июле 2004 года в матче на Кубок России против омского «Иртыша» (2:0) и провёл в клубе 4 сезона. Всего в официальных встречах провел 113 матчей, забил 5 голов (из них в Премьер-лиге — 74 матча, 3 гола). В составе «Зенита» в 2007 году стал чемпионом России.
В начале 2008 года в приобретении Шкртела, по слухам, были заинтересованы европейские клубы «Валенсия», «Ньюкасл», «Тоттенхэм», «Эвертон» и «Ливерпуль».