Willis played junior rugby for Reading Abbey R.F.C. before joining the Wasps Senior Academy in 2015.[2] In November 2016 he made his first senior start for Wasps in an Anglo-Welsh Cup game against Sale Sharks.[3] Later that month he made his Premiership debut against the same opponent.[3]
After an exceptional 2019–2020 season which saw Wasps finish runners up to Exeter Chiefs in the Premiership final,[4] Willis was the recipient of multiple awards, including: The "players' player of the year" award, the Premiership "Player of the Season" award, and the "Discovery of the Season" award.[5][6]
Wasps entered administration on 17 October 2022 and Willis was made redundant along with all other players and coaching staff.[7]
Toulouse: 2022–
On 24 November 2022, he joined France's most-successful club Toulouse in the Top 14 competition with immediate effect.[8][9]
On 8 December 2024, he won player of the match in the opening round of the 2024–25 Champions Cup helping his side to defeat Ulster 61-21.[10]
In October 2020 Willis was again called up by coach Eddie Jones to train with the senior squad as they completed their Six Nations campaign.[14] The following month he made his Test debut starting in their opening Autumn Nations Cup fixture against Georgia at Twickenham on 14 November 2020 which saw him open the scoring with a debut try in the 15th minute as England won 40-0.[15]
Willis scored a try against Italy during the 2023 Six Nations Championship.[16] Later that year coach Steve Borthwick included him in the squad for the 2023 Rugby World Cup.[17] He scored a try on his only appearance of the tournament in a pool stage game against Chile.[18] However a neck injury sustained by Willis in that match ruled him out of the rest of the competition.[19]