Родился в пгт Варва, Черниговская область. Воспитанник «Европы» (Прилуки) и Харьковского государственного высшего училища физической культуры № 1.
В августе 2019 года подписал контракт с «Зарей». Выступал за юношескую команду клуба, а начиная с сезона 2020/21 годов играл и за молодёжную команду. За первую команду луганчан дебютировал 9 мая 2021 в победном (2:1) домашнем поединке 26-го тура Премьер-лиги Украины против «Александрии». Денис вышел на поле на 70-й минуте, заменив Максима Лунёва[1].