En 1997, il travaille avec le réalisateur Nick Cassavetes puis s'offre un rôle dans « U Turn » avec
Jennifer Lopez. Dans le film « The Game » de David Fincher, il s'essayera au rôle de Conrad Van Orton et jouera avec
Michael Douglas. Il obtient ensuite un premier rôle dans « Hollywood Sunrise » d'Anthony Drazan avec Meg Ryan et
Kevin Spacey. En 1998, on le retrouve à l'affiche d'un film de guerre qu'est « La ligne Rouge » avec
John Travolta,
Adrien Brody et
Jared Leto. L'année suivante, il sera à l'affiche du film « Accords et désaccords » de Woody Allen avec Anthony LaPaglia, Uma Thurman et Samantha Morton. Sean Penn interprètera le rôle d'Emmet Ray, l'un des guitaristes de
jazz les plus apprécié au monde après Django Reinhardt. En 2000, on le retrouve à l'affiche du film « Avant la nuit » avec Olivier Martinez et
Johnny Depp. Par la suite, il offre une prestation des plus remarquables dans le film « Sam, je suis Sam » avec
Michelle Pfeiffer. Il se verra d'ailleurs remettre un
Oscar du meilleur acteur en 2002.