Willis made his provincial debut for Otagoin 1999 and his Super Rugby debut for the Highlanders the following year, but found playing time difficult to come by in the same sides as incumbent All Black hooker Anton Oliver and fellow rising star Andrew Hore. Injury to Oliver saw Willis finally see a starting role for the Highlanders in the 2002 Super 12 season, and he impressed enough that he was starting Tri Nations games for the All Blacks following the campaign. However, with Oliver back healthy Willis again found himself on the reserve bench for both the 2003 Super Rugby and NPC seasons. Despite a lack of playing time, he still managed to show his substantial ability in limited minutes - in the 2003 NPC he scored 5 tries despite making only 2 starts in 9 total appearances. Following the 2003 provincial season, Willis transferred to Waikato and the Chiefs in a bid to get more consistent playing time. However, shortly thereafter he suffered complications following a back injury, which forced him out of rugby for over a year. After missing the entire 2005 Super 12 season, Willis returned to hold down the starting position at hooker for the Chiefs for another three seasons through 2008. However, it was as captain of Waikato that he achieved his greatest triumphs, as he led the province to the 2006 Air New Zealand Cup championship as well as a Ranfurly Shield triumph over North Harbour in 2007.
Europe
On 23 April 2008, Willis confirmed he was joining Welsh Celtic League side Newport Gwent Dragons for the following European season. After arriving in Wales, he was quickly appointed team captain and made 25 appearances in his first season for the club. Willis retired from rugby in January 2012 due to injury.
International Play
Willis was first selected to the All Blacks for their end of year tour in 2001, where he made starts - and was named team captain - against Ireland A and Scotland A. However, neither of these contests were considered test matches. After a strong 2002 Super 12 season, he was again selected to the All Blacks for that year's domestic and Tri Nations tests. He made his test debut on 8 June 2002, starting in a 64–10 win over Italy in Hamilton. He would go on to make another four appearances for New Zealand that year. However, these would be his final international appearances. Injury ruled him out of the 2002 end of year tour, and he was left off the 2003 Rugby World Cup squad. His long injury layoff in 2004-2005 would then ultimately serve to permanently end his international career.