Ben Foster est né de l'union de Gillian Kirwan (née Sterling) et Steven Foster{{,}}. Il a un frère cadet Jon, qui est aussi acteur. Ses grands-parents paternels, Celia (née Segal) et Abraham Frank Foster, un juge et politicien à Boston ont émigré de Russie et ont aussi des origines juives{{,}}{{,}}.
Ils démémagent à ses quatre ans à Fairfield, Iowa, après un cambriolage traumatisant. Il pratique la méditation transcendentale et rejoint la {{Langue}}.
À seize ans, il quitte l'école pour Los Angeles afin de se lancer dans une carrière d'acteur.
{{...}} Ben Foster lors du Festival du film de Sundance en janvier 2006.
À douze ans, il a écrit, réalisé et interprété un rôle dans une pièce de théâtre qui a obtenu un prix international.
En 1996, il est engagé pour la première fois dans une série télévisée Disney Channel Chahut au bahut (Flash Forward). La même année, il commence sa carrière au cinéma avec un rôle secondaire dans le film Kounterfeit.
En 1998, il auditionne pour le rôle du film Donnie Darko qu'il n'obtient pas (le rôle a été obtenu par Jake Gyllenhaal).
C'est en 1999 qu'il obtient son premier rôle principal (Ben Kurtzman) qui le fait connaître du public dans le film Liberty Heights de Barry Levinson.
En 2005, il se fait connaître davantage grâce au rôle de Russell Corwin dans la série télévisée Six Feet Under.
En 2006, il obtient le rôle de Warren Worthington III / Angel dans X-Men : L'Affrontement final (X-Men: The Last Stand).
En 2013, il a été choisi pour incarner le rôle de Lance Armstrong dans le prochain film de Stephen Frears, prévu pour 2014 puis il a été officiellement annoncé au casting du film Warcraft, inspiré du jeu vidéo World of Warcraft, prévu pour 2016{{,}}.
{{...}}
De 2012 à 2014 il est le compagnon de l'actrice Robin Wright.