Родился в Черновцах. В ДЮФЛУ в 2016 году начал выступать в составе местной «Буковины», а с 2017 по 2020 год играл в вышеуказанном турнире в составе «Шахтёра». Начиная с сезона 2020/21 играл за юношескую команду «Шахтёра» в юношеском чемпионате Украины. В середине сентября 2021 года попал в заявку «горняков» на юношескую Лигу УЕФА[1]. В вышеуказанном турнире дебютировал 15 сентября 2021 года в победном (5:0) выездном поединке 1-го тура группы D против тираспольского «Шерифа». Денис вышел на поле в стартовом составе и отыграл весь матч[2][3]. В общей сложности в Юношеской лиге УЕФА провёл 8 поединков.
В футболке первой команды «горняков» дебютировал 18 июля 2023 года в проигранном (0:3) товарищеском поединке против амстердамского «Аякса». Твардовский вышел на поле на 46-й минуте вместо Дмитрия Ризныка[4][5]. Впервые в заявку «Шахтёра» на официальные турниры попал 29 июля 2023 года на победный (2:1) поединок 1-го тура Премьер-лиги Украины против харьковского «Металлиста 1925». Однако в матче в основе вышел Дмитрий Ризнык, а Денис просидел все 90 минут на скамейке запасных[6][7][8]. Дебютировал на официальном уровне за донецкий клуб 19 мая 2024 года в ничейном (1:1) выездном поединке 29-го тура Премьер-лиги Украины против «Днепра-1». Твардовский вышел на поле в стартовом составе и отыграл весь матч[9][10][11]. В сезоне 2023/24 провёл 2 поединка в высшем дивизионе чемпионата Украины.
Карьера в сборной
В начале октября 2021 года главный тренер юношеской сборной Украины (U-19)Владимир Езерский включил Твардовского в заявку на матчи квалификации юношеского чемпионата Европы 2022[12]. Дебютировал за сборную U-19 6 октября 2021 года в победном (4:2) поединке 5-й группы квалификации турнира против сверстников из Мальты[13][14]. На вышеуказанном турнире сыграл в 3-х матчах[15] и помог украинцам занять первое место в группе[16].