Haley hat in zahlreichen Filmen mitgewirkt, darunter Damnation Alley, John Schlesingers The Day of the Locust und Losin‘ It, sowie in Gastrollen im Fernsehen. Als bekannter Kinderdarsteller spielte er die Rolle des Kelly Leak in der Komödie The Bad News Bears. Er spielte auch die Hauptrolle in Die Bösen Bären in Breaking Training und Die Bösen Bären gehen nach Japan.
Er spielte den Moocher in Peter Yates‘ gefeiertem Film Breaking Away von 1979 und später in der kurzlebigen gleichnamigen Fernsehserie. In den 1970er Jahren spielte er oft einen harten, wütenden, pickeligen, langhaarigen Außenseiter; in seinem Spielfilmdebüt, dem schrägen Film The Outside Man von 1972, spielte er Eric, einen Jungen, der offenbar so verzweifelt einsam ist, dass er versucht, den Mafia-Killer zu beeindrucken, der ihn und seine Mutter (Georgia Engel) als Geiseln hält. Haley drehte auch einen Pilotfilm für eine amerikanische Version der beliebten britischen Komödie The Young Ones mit dem Titel Oh, No! Not THEM! 1974 spielte er Norm, einen Außenseiter in der 12. Folge der Samstagmorgen-Kindersendung Shazam! Es wird gemunkelt, dass Haleys Freund Johnny Depp ihn 1984 zum Vorsprechen für Wes Cravens A Nightmare on Elm Street begleitete; anstatt dass Haley für eine Rolle ausgewählt wurde, wurde Depp von Regisseur Craven entdeckt, der ihn fragte, ob er für eine Rolle vorsprechen wolle. Haley hatte ursprünglich für die Rolle des Antagonisten des Films, Freddy Krueger, vorgesprochen, verlor aber schließlich gegen Robert Englund für die 1984er Version des Films.
Haleys Schauspielkarriere ruhte während des größten Teils der 1990er und frühen 2000er Jahre, als er nach San Antonio zog und sich schließlich der Regie zuwandte, wo er als Produzent und Regisseur von Fernsehwerbung erfolgreich war.
Auf Empfehlung von Sean Penn kehrte Haley 2006 zur Schauspielerei zurück und spielte zunächst in Steven Zaillians All the King’s Men an der Seite von Penn die Rolle des Sugar Boy, seines Leibwächters, bevor er in Todd Fields Little Children einen von der Kritik gefeierten Auftritt als kürzlich auf Bewährung entlassener Sexualstraftäter hatte. Er gab an, dass seine Vorbereitung auf die Rolle stark von der Beziehung zwischen seiner Mutter und seinem Bruder True beeinflusst war, der mit seiner Heroinsucht kämpfte, bevor er an einer Überdosis starb. Für diese Darstellung wurde Haley für einen Academy Award als bester Nebendarsteller nominiert und 2007 in die Academy of Motion Picture Arts and Sciences aufgenommen.
Haley besitzt eine Produktionsfirma, JEH Productions, in San Antonio. Im Jahr 2008 war er in Semi-Pro zu sehen und spielte die Hauptrolle in Winged Creatures mit Kate Beckinsale, Guy Pearce und Dakota Fanning. Außerdem spielt er in Zack Snyders 2009 erschienener Verfilmung der Alan-Moore-Graphik Watchmen die Hauptrolle des Rorschach, eines maskierten Selbstjustizlers, der die Identität eines kostümierten Heldenmörders herausfinden will – eine Rolle, für die Haley von vielen Kritikern gelobt wurde. Der Film brachte ihn auch wieder mit Little Children Co-Star Patrick Wilson zusammen, der Nite Owl II, den ehemaligen Partner von Rorschach, spielte. Ebenfalls 2010 spielte Haley in Shutter Island unter der Regie von Martin Scorsese einen Patienten einer Klinik für kriminelle Geisteskranke.
Haley spielte die Rolle des Freddy Krueger in der Neuverfilmung von A Nightmare on Elm Street. Er hat unterschrieben, um die Rolle in drei Teilen der Serie zu spielen.
Haley war ein Stammgast in der Serie Human Target als Guerrero, ein Verbündeter der Hauptfigur, Christopher Chance. Die Serie feierte am 17. Januar 2010 auf Fox Premiere und lief zwei Staffeln lang, bevor sie im Mai 2011 abgesetzt wurde.
Er spielte Willie Loomis in der 2012 erschienenen Verfilmung von Dark Shadows unter der Regie von Tim Burton und den Vizepräsidenten der Konföderierten Staaten Alexander H. Stephens in Lincoln unter der Regie von Steven Spielberg. Er hat den Superschurken „The Terror“ in Amazons Reboot von The Tick gespielt.