↑ Количество игр и голов за профессиональный клуб считается только для различных лиг национальных чемпионатов, обновлено по состоянию на 29 мая 2024 года.
↑ Количество игр и голов за национальную сборную в официальных матчах.
Воспитанник киевского «Динамо», в школу «динамовцев» попал в 6 лет. В 2005 году начал играть на профессиональном уровне в «Динамо-3» и «Динамо-2». Вторую половину сезона 2007/08 провёл на правах аренды в киевском ЦСКА. Летом 2009 года отправился в аренду к новичку Премьер-лиги — киевской «Оболони»[4]. В Премьер-лиге дебютировал 19 июля 2009 года в матче против «Металлиста» (0:2, поражение «пивоваров»)[5]. В период с 2011 по 2012 годы играл в аренде за «Кривбасс».
«Динамо» (Киев)
Бойко в составе «Динамо»
В феврале 2010 года был заявлен в чемпионате Украины за первую команду «Динамо». 9 мая дебютировал в официальной игре. Это был матч последнего тура сезона 2009/10. «Динамо» играло дома, любой итог матча на турнирное положение команды уже не влиял. Ни одного гола Бойко не пропустил, матч закончился со счётом 3:0.
В весенней части чемпионата ни разу не вышел на поле. В матче Лиги Европы против «Шерифа» совершил ошибку, в результате которой забил Александр Ерохин. Матч закончился победой молдавской команды со счётом 2:0.
Аренда в «Днепр»
В июне 2013 года отдан в годичную аренду днепропетровскому «Днепру»[6], где стал серебряным призёром чемпионата Украины. На 22-й минуте матча 23 тура чемпионата Украины против киевского «Динамо», Бойко жёстко сыграл против полузащитника киевлян Олега Гусева. При подаче углового у ворот «Днепра» Денис сыграл на выходе и случайно ударил коленом в лицо Гусева. Быстро сооринтировавшийся одноклубник Бойко Джаба Канакава первым ринулся у Гусеву и предотвратил западание языка. Медики «Динамо» сказали что Канкава спас Гусеву жизнь.
«Днепр»
Бойко в составе «Днепра»
После окончания аренды Бойко подписал с «Днепром» полноценный контракт.
В клубе стал основным вратарём. Во многом благодаря ему «Днепр» в сезонах 2014/15 и 2015/16 стал бронзовым призёром чемпионата Украины. В сезоне 2014/15 Бойко вместе со своей командой дошёл до финала Лиги Европы, где «Днепр» в упорной борьбе уступил «Севилье» со счётом 2:3[7]. Вошёл в символическую сборную турнира[8]. В чемпионате «днепряне» заняли 3-е место не дотянувшись до второго, лигочемпионского места, во многом благодаря сложной концовке календаря (в 23-ем, 24-ом и 25-ом турах «Днепр» играл соответственно с «Зарёй», киевским «Динамо» и «Шахтёром»).
Сезон 2015/16 стал для «Днепра» менее удачным. В групповом раунде Лиги Европы «Днепр» занял 3-е место в группе G, не дотянув до «Сент-Этьена» 2 очка. В матчах группы Бойко отыграл все матчи. В последнем матче против «Руссенборга» Бойко вышел на поле с капитанской повязкой и на 12-й минуте отразил пенальти от Поля Хеллана[9].
20 января 2016 года официальный сайт «Днепра» сообщил от том, что Бойко покидает клуб и том, что «Днепр» уже договорился по поводу трансфере вратаря в турецкий «Бешикташ». Вот что сказал сам вратарь по поводу своего ухода из «Днепра»:
Это была лучшая команда и лучшая футбольная семья в моей карьере! Футбольный клуб «Днепр» на всю жизнь останется в моём сердце. Я горд и счастлив что играл за такой клуб! Спасибо огромное всем моим партнёрам по команде всем тренерам и просто всем людям которые работали и работают в «Днепре»! Ну и конечно же огромное спасибо болельщикам. Безумно жаль, что так происходит с нашими клубами.
«Бешикташ»
21 января 2016 года перешёл в «Бешикташ», подписав контракт на 3,5 года[10]. Размер трансфера составил от 3,3 до 4 млн евро. Дебютировал за турецкий клуб 10 февраля 2016 года в матче Кубка Турции против «Коньяспора». Дебют получился неудачным — Денис пропустил 2 мяча и «Бешикташ» проиграл 1:2[11]. Второй матч (также с участием Бойко) «чёрные орлы» проиграли 0:1 и выбыли из розыгрыша Кубка[12]. В чемпионате Турции провёл первый матч 19 марта 2016 года — против «Антальяспора» (1:0, победа «Бешикташа»). В том матче Денис получил серьезную травму головы в столкновении с игроком соперников, но после оказания медицинской помощи украинский голкипер сумел продолжить игру[13].
Болельщики «черных орлов» с воодушевлением восприняли трансфер украинца, однако он не сумел выиграть конкуренцию у капитана команды Толги Зенгина. Когда Денис все же получал шансы, он играл не лучшим образом. В результате Бойко оказался просто не нужен «Бешикташу». 9 сентября 2017, после возвращения из «Малаги», был переведён в дубль клуба[14].
Аренда в «Малагу»
В августе 2016 года на правах аренды перешёл в испанский клуб «Малага»[15]. В то время «анчоусов» тренировал бывший тренер Бойко в «Днепре», Хуанде Рамос. Однако это не помогло Денису стать основным вратарём «Малаги», уступая конкуренцию Карлосу Камени. Всего за один сезон в «Малаге» Бойко сыграл 3 матча в которых пропустил 7 голов[16].
Аренда в «Динамо» (Киев)
В феврале 2018 года на правах аренды вернулся в киевское «Динамо»[17]. Дебютировал 15 февраля в первом матче 1/16 финала Лиги Европы против афинского АЕКа (1:1)[18]. В «Динамо» сразу получил место в стартовом составе. Всего-же за полсезона в Киеве Денис успел сыграть 19 матчей во всех турнирах. Также успешные выступления в «Динамо» помогли Бойко вернуться в сборную Украины. С родной командой Бойко вышел в финал Кубка Украины, который проиграл «Шахтёру», а также выиграл серебряные медали чемпионата Украины.
«Динамо» (Киев)
Накануне вылета «Динамо» на летний сбор в Австрию Бойко подписал с киевским клубом полноценный контракт[19]. Первый матч после перехода провёл 21 июля за Суперкубок Украины «Шахтёра», который киевляне выиграл со счётом 0:1.
9 октября 2022 года в игре Премьер-лиги против «Руха» провёл свой юбилейный, 50-й, сухой матч в составе «Динамо» во всех турнирах[20][21]. В конце первого тайма получил травму ноги, словив мяч с под перекладины после заброса от Юрия Климчука и неудачно приземлился на ногу, после чего его заменил Руслан Нещерет[21]. 12 октября прошёл углублённое обследование в одной из клиник Барселоны, а по его результатам ему был поставлен диагноз повреждения передней крестообразной связки и назначена операция[22].