W lutym 2014 został zaangażowany do roli przebiegłego angielskiego czarodzieja Johna Constantine’a w trzynastu odcinkach serialu NBC Constantine. Constantine'a zagrał też w serialach The CW Arrow (2015) i Legends of Tomorrow, w którym z czasem dołączył do głównej obsady. Podłożył również głos tej postaci w Constantine: City of Demons - miniserialu animowanym i Constantine City of Demons: The Movie - filmie łączącym w sobie odcinki serialu, a także w Justice League: Mrok.

Pojawił się jako Joe O’Hara w 8 odcinkach serialu ITV The Halcyon (2017).

W 2015 na deskach Roundabout Theater Studio 54 zagrał rolę Laurenta w spektaklu Teresa Raquin wg powieści Émile’a Zoli obok Keiry Knightley.

Role aktorskie Filmy Rok Tytuł Rola 2002 Pocket Money Johnny 2004 Przekładaniec Junkie 2 2007 Consenting Adults Charley Bullard 2007 Krwiożercza małpa Seth 2008 Niezwykły dzień panny Pettigrew Gerry 2009 Wild Decembers Bugler 2011 Lep na muchy Gates 2012 Armistice Edward Sterling 2013 500 Miles North John Hogg 2017 Justice League: Mrok John Constantine (głos) 2018 Constantine City of Demons: The MovieJohn Constantine (głos) 2020 Adverse Jake 2020 Justice League Dark: Apokolips War John Constantine (głos) 2022 DC Showcase: Constantine - The House of Mystery John Constantine (głos)