On 17 July 2017, Willems joined Eintracht Frankfurt to replace Bastian Oczipka, who, in turn, joined Schalke 04. The transfer fee paid to PSV was reported as between €5 million and €9 million, depending on the source. Willems made 29 appearances during the 2017–18 season, which included the surprise win over Bayern Munich in the German Cup final.