Dopo il diploma superiore alla Hayes School di Bromley ha studiato recitazione alla Arts Educational Schools di Hounslow.
Inizia la sua carriera nel 2009, recitando in alcune serie televisive e nel 2011 ottiene il ruolo di Loras Tyrell ne Il Trono di Spade. Nel 2016 viene scelto come interprete di Danny Rand / Iron Fist nella serie televisiva Marvel's Iron Fist, prodotta da Marvel Television e distribuita da Netflix e parte integrante del Marvel Cinematic Universe. Inoltre sarà, assieme a Daredevil, Jessica Jones e Luke Cage, uno dei protagonisti di The Defenders.