W wieku 11 lat, po raz pierwszy wystąpił w roli Toma Gullivera w reżyserowanej przez jego ojca telewizyjnej adaptacji Podróży Guliwera (1996) z Tedem Dansonem i Mary Steenburgen. Mając 18 lat, powrócił na ekran zagrał w komediodramacie Istvána Szabó Julia (2004). W ekranizacji powieści Williama Thackeraya Vanity Fair. Targowisko próżności (2004) wystąpił w roli syna kapitana George’a Henry’ego Osborne’a (Jonathan Rhys Meyers). W komediodramacie Richarda Curtisa Radio na fali (2009) u boku Billa Nighy’ego, Rhysa Ifansa i Philipa Seymoura Hoffmana zagrał postać. W filmowej adaptacji powieści W drodze (2012) wcielił się w rolę Allena Ginsberga.
Grał także na Broadwayu. W 2013 za kreację Phillipa w spektaklu broadwayowskim Sieroty u boku Aleca Baldwina i Bena Fostera został uhonorowany nagrodą Theatre World i zdobył nominację do Tony Award za najlepszy występ aktora w roli pierwszoplanowej w sztuce teatralnej. W 2017 został obsadzony w roli Winstona Smitha w przedstawieniu 1984 na podstawie powieści autorstwa George’a Orwella.