He was signed by Houston as an undrafted free agent in May 1972 and began his pro career in the Rookie-level Florida East Coast League that season.
He reached the Triple-A level in 1975 and made his Major League debut on June 12 of the 1978 season in the eighth inning of a game against the Pittsburgh Pirates at the Astrodome.
Pitching in relief of Joe Niekro with the Astros trailing 4–0, Williams allowed a run during his inning of work to make the score 5–0, Pittsburgh.
Williams (removed for a pinch hitter during Houston's six-run rally) was credited with the victory, while Joe Sambito picked up the save.
[4] He took a regular turn in the Astro rotation during June, but in July he transitioned to a spot-starter and relief pitcher "swingman" role.