Jon Foster, ein jüngerer Bruder des Schauspielers Ben Foster, debütierte an einem Theater in Iowa. Später zog er nach Los Angeles, wo er bei seinem Bruder wohnte.[2] Nach zwei Gastauftritten in Fernsehserien spielte er in dem Politthriller Thirteen Days (2000) die Rolle von einem der Söhne von Kenny O'Donnell (Kevin Costner).
In dem Horrorfilm Stay Alive war er 2006 in einer der Hauptrollen zu sehen. In der Abenteuerkomödie Ein verhängnisvoller Sommer (2008) spielte er die Rolle eines Studenten, der einen kriminellen Vater (Nick Nolte) hat und eine intime Beziehung zu Jane Bellwether (Sienna Miller) wie auch zu deren Freund Cleveland Arning (Peter Sarsgaard) unterhält.
Am 20. Juni 2015 heiratete er Chelsea Tyler, die Tochter des Sängers Steven Tyler, nachdem sie sich im Mai 2014 verlobt hatten.[3]