Воспитанник «ФШМ-Торпедо». В 1999 начал выступления за «Торпедо»-2, в 2001 году дебютировал в основной команде «Торпедо». 15 октября 2005 года получил тяжёлую травму (двойной перелом голени) и выбыл на полгода. В следующем 2006 году «Торпедо» вылетело из Премьер-лиги, и Волков на правах свободного агента заключил 3-хлетний контракт с «Рубином». По окончании сезона 2007 подал жалобу в Палату споров РФС, и контракт был аннулирован. С 2008 по 2010 год выступал в «Томи».
Дважды Виталий Волков поучаствовал в еврокубковых кампаниях.
В дебютном матче, в квалификационном раунде Кубка УЕФА 2003/04 против сан-маринского «Доманьяно», полузащитник забил 1-й гол (итоговый счёт 5:0), а также отличился в ответной игре (0:4, 3-й гол). В следующем раунде Волков отыграл оба матча против софийского ЦСКА, а поскольку оба матча завершились с одинаковым счётом 1:1, успешно исполнил послематчевый пенальти (торпедовцы прошли дальше, 3:2). Следующим (и последним в том розыгрыше) соперником стал испанский «Вильярреал». Проиграв первый в Испании матч 2:0, в ответной встрече Волкову удался результативный пас пяткой на Семшова, однако по сумме встреч (итого второго матча – 1:0) российский клуб вылетел из Кубка УЕФА. Не имевший в том сезоне статуса игрока основы Волков, тем не менее, провёл в еврокубках все 6 матчей без замен.
Следующий еврокубковый матч Волков играл в составе «Рубина» в Кубке Интертото 2007. Во 2-ом раунде против венгерского «Залаэгерсега» Виталию удался хет-трик (один из голов с пенальти, заработанного на нём же), в ответном матче также удалось отличиться (реализованный пенальти). Волков принял участие в обоих матчах 3-го раунда против венского «Рапида», однако команда сыграла неудачно и вылетела.
В 2010 году за «Волгу» провёл 14 матчей и забил 3 гола, после завершения сезона покинул данный клуб.
Примечание.
* В Кубке Премьер-лиги