Born in Surry County, North Carolina (present-day Forsyth County), Williams attended the University of North Carolina at Chapel Hill, graduating in 1808. He was first elected to the North Carolina House of Commons in 1812, serving for a single term (1813-1814) before being elected to the 14th United States Congress as a (Jeffersonian) Republican in 1814.
Williams was re-elected to successive Congresses before his death in 1842. In keeping with the turbulent times in which the parties realigned, he served under five different party labels: as a Republican, as a Crawford Republican, as a supporter of John Quincy Adams, as an "Anti-Jacksonian," and finally as a Whig. During his time in Congress, he chaired the Committee on Claims in the 15th through 21st Congresses, and the Committee on Territories during the 23rd Congress. Williams also introduced the resolution creating the United States House Committee on Agriculture. He died in Washington, DC, while in office in 1842 and is buried in Panther Creek Cemetery near Lewisville, North Carolina.