Williams was selected in the second round of the 1975 NBA Draft by the Golden State Warriors and in the first round of the 1975 ABA draft by the Spirits of St. Louis. Williams signed with the Warriors for the 1975–76 season and was named to the NBA All-Rookie Team. Williams played only two seasons with the Warriors and was allowed to leave as a free agent before the 1977–78 season, signing with the Seattle SuperSonics.
While with Seattle, he was twice selected to the NBA All-Star Game, and was an All-NBA First Team (1982) and All-NBA Second Team (1980) selection. Williams, whose style of play earned him the nickname "Wizard", led the Sonics to the 1979 championship while averaging team high 28.6 points per game in the Finals. While in the prime of his career, Williams sat out the entire 1980–81 season due to a contract dispute. He played two more seasons with the Sonics after that. In 1983, he signed with the Washington Bullets. During the 1984-85 season Williams played alongside the similarly named Guy Williams. He finished his career with a 17.1 point-per-game scoring average in a career spanning 12 years from 1975 to 1987. In 2004 Williams' #1 jersey was retired by the Sonics.
Williams' younger brother Ray (1954–2013) also played in the NBA.