Воспитанник ярославского «Локомотива». В основном составе клуба дебютировал в сезоне 2001/02. Выступал за юниорскую и молодёжную сборные России. В первом раунде драфта НХЛ 2002 года был выбран клубом «Лос-Анджелес Кингз» под общим 18-м номером. В том же году дебютировал во взрослой сборной России на чешском этапе Еврохоккейтура.
В 2003 году подписал контракт с «Лос-Анджелесом» и отправился за океан. Выступал за фарм-клуб «королей» в АХЛ «Манчестер Монаркс». Первый матч в НХЛ в составе «Лос-Анджелеса» провёл 28 февраля 2004 года против «Анахайма». 8 марта 2006 года был обменян в «Нью-Йорк Айлендерс», в составе которых провёл остаток сезона 2005/06. Не договорившись с «островитянами» о новом контракте, вернулся в Россию и провёл сезон 2006/07 в составе «Локомотива».
18 февраля 2007 года «Айлендерс» обменяли права на Дениса в клуб «Эдмонтон Ойлерз». В 2007 году Денис присоединился к «Эдмонтону», в котором провёл следующие три сезона. 1 марта 2010 года был обменян в «Нэшвилл Предаторз», по окончании сезона 2009/10 вновь вернулся в Россию, заключив контракт с питерским СКА. 30 октября 2012 года перешёл в «Югру» из Ханты-Мансийска. В 2013 году в очередной раз отправился за океан, подписав годичный контракт с «Эдмонтоном». Проведя в НХЛ только 7 матчей за сезон в составе «Ойлерз», доигрывал чемпионат в АХЛ в фарм-клубе «Эдмонтона» «Оклахома-Сити Баронс». В 2014 году подписал контракт с подольским «Витязем».