Williams had a productive seven year career in the CFL, racking up 6110 yards rushing with four different teams: BC, Winnipeg, Hamilton and Edmonton. Williams signed with BC prior to the 1996 season, but didn't get onto the active roster until August. In 12 games, he ran for 535 yards. Williams was traded to Winnpeg along with DT Tony Bailey and a sixth round draft pick for DB Greg Frers. Williams had his first thousand yards season with Winnipeg in 1997, rushing for 1120, but was again traded after the season. Williams was sent to Hamilton as part of the future considerations for a previous trade with the Tiger-Cats. Williams spent three and a half seasons in Hamilton, teaming up with QB Danny McManus, WR Darren Flutie and RB/SB Archie Amerson to give Hamilton a potent offense. Williams had his best season in 2000 when he ran for 1264 yards. Willimas was named to the East All-Star team in eahcof his full season with Hamilton, from 1998 to 2000. Halfway through the 2001 season, Williams was released by Hamilton in a conflict with head coach Ron Lancaster. Edmonton signed Williams and he finished the 2001 season with the Esks. Between the two teams, Williams rang up his fourth one thousand yard season rushing with an even 1200 yards. Williams got off to a disapointing start with Edmonton in 2002 and after playing eight games and having just 254 yards rushing, he was released.
Williams threw one incomplete pass in 1999.
Williams had one forced fumble in 1997.