Attivo regolarmente sulle scene londinesi dal 2011, ha interpretato ruoli da protagonista in musical e opere di prosa nel West End, Broadway e Dublino. Nel 2012 ha esordito sul grande schermo come Courfeyrac nel film Les Misérables di Tom Hooper e negli anni seguenti ha interpretato ruoli principali in serie televisie di Disney+, della BBC e Netflix, come Kazimierz Kazimierczak in Hawkeye, Andy in Lost Boys & Fairies e Sam in Unchosen.
Subito dopo il diploma alla Royal Academy of Music, ottiene la parte di Billy Kostecki nella riduzione teatrale di Dirty Dancing - Balli proibiti nel West End. In seguito, ricopre il ruolo di Schlomo in un tour britannico del musical Fame e quello di Aladdin nella produzione del Gaiety Theatre di Dublino dell'omonimo musical. Nella stagione 2011/2012 interpreta il ruolo di Jean Prouvaire nel musical Les Misérables, in scena al Queen's Theatre di Londra, ed è il primo sostituto per i ruoli di Enjolras e Marius Pontmercy. Durante questo periodo, fa il suo debutto sul grande schermo nell'adattamento cinematografico del musical, nel ruolo di Courfeyrac.
Nella primavera del 2014 esordisce negli Stati Uniti interpretando Philip Ashley in una riduzione teatrale di Mia cugina Rachele in scena a Charleston. Nel 2014, torna a recitare per il grande schermo, interpretando Kieren nel film di Tom LawesMonochrome, insieme a James Cosmo. Dal marzo al maggio 2015 interpreta Romeo nella produzione di Romeo e Giulietta al Gate Theatre di Dublino con la regia di Wayne Jordan. Dopo aver recitato in uno speciale concerto di Elegies for Angels, Punks and Raging Queensin scena al Criterion Theatr e aver interpretato il protagonista Jamie in The Last Five Years al Lyric Theatre di Belfast, nell'ottobre 2015 esordisce al National Theatre di Londra nella commedia shakespeariana Come vi piace, in cui interpreta Amiens. Nel dicembre dello stesso anno torna al Lyric Theatre di Belfast per la rivistaPutting It Together.
Nel luglio e nell'agosto 2016 torna a calcare le scene londinesi nel revival dell'Off West End del musical The Fix, in cui interpreta il giovane Cal Chandler. Da ottobre si unisce al tour di un nuovo adattamento musicale de Il vento tra i salici, in scena a Plymouth, Salford e Southampton, con Rufus Hound nel ruolo del protagonista.
Nel 2017 torna sulle scene londinesi con il dramma The Ferryman di Jez Butterworth, in cui interpreta Michael Carney e vince il WhatsOnStageAward al miglior attore non protagonista in un'opera teatrale. Nell'agosto 2018 interpreta A-Rab in West Side Story e Chip in On the Town in due produzioni semisceniche allestite alla Royal Albert Hall per il centenario di Leonard Bernstein, mentre nell'autunno dello stesso anno debutta a Broadway con The Ferryman, in cui torna a recitare nel ruolo di Michael. Nel 2019 ritorna al National Theatre con il dramma Translations, recita nel film Animals e fa il suo debutto televisivo con The Spanish Princess.