Вырос в Ленинграде, в Калининском районе. В спортшколе района играл со второго по шестой класс. Первый тренер - Марк Абрамович Рубин. Затем попал в только что созданную специализированную футбольную школу «Смена» (тренер - Геннадий Ермаков), которую в итоге и окончил.
Профессиональную карьеру начал в «Динамо» (Ленинград), откуда был приглашен в 1982 Павлом Садыриным в «Зенит». Сначала играл за дубль, где за сезон провел 18 игр и забил 12 мячей.
Осенью 1982 года дебютировал в домашней игре клуба против харьковского «Металлист». Регулярно в основе стал выходить с 1983 года. Играл на позиции нападающего, но в числе лучших бомбардиров не был. Выделялся на поле игровой мощью, скоростью, владел сильным ударом. В 1984 в 1-й раз стал чемпионом страны, завоевав золото вместе с «Зенитом».
В конце первого круга сезона 1986 года получил первую тяжелую травму в карьере - перелом лодыжки в домашнем матче против «Днепра». Игра проходила на искусственном газоне СКК, который в день игры постелили прямо на бетонную основу, из-за чего образовались пустоты между газоном и бетоном. В одну из пустот и угодил ногой футболист. Травма помешала Дмитриеву быть в составе сборной на ЧМ-86.
В сборной СССР 6 игр, забил 1 гол, также сыграл 1 матч за олимпийскую сборную СССР (1985-1986, 1988). Серебряный призёр чемпионата Европы 1988 в её составе (не сыграл на том турнире ни одного матча из-за незалеченных травм - трещина на пальце ноги и паховой грыжи).
Травма 1986 года и ее неправильное лечение (нога неправильно срослась, из-за перекоса большая нагрузка шла на колено) предопределили дальнейший характер травм у спортсмена - прежде всего проблемы с коленями.
В 1989, из-за конфликтов в «Зените», принял решение перейти в «Динамо» (Москва). Провел 4 игры и выбыл из строя из-за травмы мениска. В этот момент про Дмитриева вспомнил Павел Садырин, и вновь позвал игрока в свою команду, на этот раз в ЦСКА. Вместе с клубом вышел в высшую лигу, стал серебряным призером чемпионата СССР в 1990 году.
Весной 1991 играл за клуб 2-го дивизиона чемпионата Испании «Херес» (контракт до конца сезона 1990/91). Изначально игрока звали на позицию форварда, но в итоге пришлось играть в полузащите. По итогам сезона клуб вылетел в 3-ю лигу, а Дмитриев вернулся в Москву.
По итогам сезона 1991 стал обладателем Кубка СССР 1990/91 и чемпионом СССР 1991 в составе ЦСКА.
В чемпионатах СССР (высшая лига) провел 170 матчей, 46 голов.
По окончании сезона перебрался в Австрию, выступал за «Шталь» (Линц). На следующий сезон играл в швейцарском «Санкт-Галлене». Также играл за израильский «Хапоэль» (Ашкелон) и немецкий «Бекум».
В 1995 вернулся в Санкт-Петербург, снова играл за «Зенит».
Во второй половине сезона 1997 в срочном порядке был призван в «Спартак» (Москва), где он должен был заменить травмированных Кечинова и Бузникина. Однако, клуб неудачно провёл предварительные игры Лиги чемпионов против «Кошице», а Дмитриев по окончании сезона вернулся в Санкт-Петербург. Первую половину сезона 1998 пропустил из-за полугодовой дисквалификации, которая была наложена за высказывания о якобы имевшем место договорном матче последнего тура сезона 1996 «Зенит» - «Спартак» (Москва), который должны были выиграть москвичи.
В чемпионатах России (высшая лига) провёл 25 игр, 2 мяча.
В 1998-1999 играл за «Динамо»» (СПб), затем провел 13 игр в 1999 году за «Кристалл» (Смоленск). В 2001 играл за «Светогорец», готовя себя уже к тренерской профессии.