A cette occasion, il met en scène des acteurs comme
Ben Stiller et Jenna Elfman. L'année suivante, il s'offre un rôle dans le film « The score » de Franck Oz. Dans ce film, on retrouvera également des acteurs comme
Robert De Niro,
Marlon Brando et Angela Bassett. Il apparaît ensuite dans un film de
Spike Lee intitulé « La 25e heure ». C'est en 2002, qu'il se met dans la peau du personnage de Will Graham dans le film « Dragon rouge » de Brett Ratner. Il partage l'affiche avec l'acteur
Anthony Hopkins que l'on retrouve dans le rôle du Docteur Hannibal Lecter. Il apparaîtra également dans le film « Frida » retraçant la vie de l'artiste légendaire Frida Kahlo. C'est
Salma Hayek qui obtiendra le rôle principal. On retrouve également Ashley Judd, Valeria Golino et
Antonio Banderas. Edward Norton travaille ensuite aux côtés du réalisateur
Danny DeVito sur le film « Crève, Smoochy, crève ! » avec
Robin Williams. Il jouera ensuite avec la ravissante
Charlize Theron dans « Braquage à l'italienne ».