John S. Edwards graduated from Princeton University with honors majoring in history. He attended Union Theological Seminary in New York on a Rockefeller Brothers Theological Fellowship. In 1970, he graduated from the University of Virginia Law School, where he was a member of the Virginia Law Review.
Edwards served in the U.S. Marine Corps as a Captain/JAG officer in the early 1970s. Before returning to Roanoke in 1976, he practiced law with Sidley and Austin in Washington, D.C., where he also worked as a volunteer attorney for the Lawyers Committee for Civil Rights under Law.
In 1980, President Carter appointed him United States Attorney for the Western District of Virginia.
In November 1993, Edwards was appointed to fill a vacancy on Roanoke City Council and was elected to a four year term and as Vice-Mayor in 1994.
In 1995, Edwards unseated a Republican incumbent to win a seat in the Senate of Virginia, representing the 21st District. Edwards was re-elected in 1999, 2003, 2007 and 2011.
Edwards practices law in Roanoke and is an adjunct professor of law at the University of Virginia Law School teaching trial advocacy.
Edwards is married to Cathye Dabney Edwards and the couple has three children and four grandchildren.