John Savage, 1949 yılında Old Bethpage, ABD'de doğdu. Kariyerine 1978 yılında Avcı filmindeki Steven Pushkov rolüyle başladı. Bu rol, Savage'ın ilk önemli film performansıydı ve film, birçok Akademi Ödülü kazandı. Savage, 1979 yılında Hair filmindeki Claude Bukowski rolüyle de dikkat çekti. Bu iki rol, kariyerinin başlangıcında önemli bir yer tuttu.
Savage, 1998 yılında İnce Kırmızı Hat filminde de yer aldı. 1999 yılında Star Trek: Voyager dizisinde Captain Rudy Ransom rolünü canlandırdı. Ayrıca, 1990 yılında İkiz Tepeler dizisinde Detective Clark rolünü üstlendi. Savage, kariyeri boyunca çeşitli film ve televizyon yapımlarında rol aldı ve birçok farklı karakteri canlandırdı.