У дорослому футболі дебютував 2010 року виступами за команду «Спарти», в якій провів один сезон у другій за силою нідерландській лізі Еерсте-Дивізі.
До складу ПСВ приєднався у серпні 2011 року. Протягом першого неповного сезону у новому клубі встиг відіграти за його команду 20 матчів в національному чемпіонаті.
2017 року уклав контракт з клубом «Айнтрахт». Граючи у складі «Айнтрахта» (Франкфурт-на-Майні) також здебільшого виходив на поле в основному складі команди.
Влітку 2019 року на сезон приєднався до складу клубу «Ньюкасл Юнайтед» на правах оренди[2]. Відіграв за клуб 20 матчів у всіх турнірах.
Виступи за збірні
2009 року дебютував у складі юнацької збірної Нідерландів, взяв участь у 16 іграх збірної 17-річних. З 2011 року — гравець збірної Нідерландів U-19.
2012 року 18-річного футболіста було включено до розширеного складу національної збірної Нідерландів, що готувалася до фінальної частини чемпіонату Європи 2012 року. За результатами зборів, проведених складі головної команди країни, Віллемс потрапив до її остаточної заявки для участі у цьому турнірі.