Po raz pierwszy trafił na mały ekran jako Johanan w dramacie historycznym Lux Vide Biblia. Apokalipsa świętego Jana (San Giovanni – L’apocalisse, 2000) w reżyserii Raffaele’a Mertesa z udziałem Richarda Harrisa. Następnie został obsadzony w roli młodego Lorimera Blacka w serialu BBC One/A&E Pancernik (Armadillo, 2001) na podstawie powieści Williama Boyda z Jamesem Frainem. W przygodowej komedii sensacyjnej Rycerze z Szanghaju (Shanghai Knights, 2003) pojawił się jako Charlie Chaplin. W serialu BBC One Chłopiec z piór (Feather Boy, 2004) z Thomasem Brodie-Sangsterem zagrał rolę Nikera. W dramacie przygodowym Złodziejaszki (The Thief Lord, 2006) wystąpił jako Prosper, główny bohater i członek gangu Scipio. Gurinder Chadha zaangażowała go do roli Robbiego w komediodramacie Angus, stringi i przytulanki (2008). Odniósł komercyjny sukces jako Dave „Kick-Ass” Lizewski, nastoletni fan komiksów, który marzy o byciu prawdziwym superbohaterem w komedii sensacyjnej Matthew Vaughna Kick-Ass (2009), zdobywając nominację do Teen Choice Awards 2010 i MTV Movie Award w kategorii przełomowa rola męska.