Williams made his NHL debut with the Maple Leafs in the 2005-06 season, scoring his first NHL goal in his only NHL game of the season on April 18, 2006 against the Pittsburgh Penguins. The game was also the last of the regular season. The Maple Leafs failed to qualify for the playoffs, and Williams was sent back to the AHL.
Williams was then called up again in the 2006-07 season, where he again scored a goal in only one NHL game that season. The goal came against the Montreal Canadiens off of goaltender David Aebischer. Williams scored off of a Mats Sundin rebound.
On February 27, 2008, Williams was called up for a third time, and scored his third NHL goal against the Florida Panthers. Williams scored a goal in each of his first three games in the NHL, with each game coming in a different season. He went on to play 18 games in the 2007-2008 season, and finished with 2 goals on the year.
On December 7, 2008, due to mounting injury concerns, the Maple Leafs recalled Williams from the Toronto Marlies along with defenceman Jaime Sifers.