Z aktorstwem zetknął się w wieku jedenastu lat, kiedy to przystąpił do młodzieżowego programu teatralnego mającego na celu przezwyciężanie nieśmiałości. Wkrótce został zauważony i w 2000 otrzymał swoją pierwszą filmową rolę w adaptacji powieści Iaina BanksaComplicity[2]. W tym okresie wystąpił też w kilku epizodach serialu telewizyjnego Barmy Aunt Boomerang. W 2007 został absolwentem szkoły aktorskiej Royal Scottish Academy of Music and Drama[3]. W czasie nauki na tej uczelni zaczął regularnie występować w rolach teatralnych m.in. w adaptacji sztuki Romeo i Julia w Globe Theatre[4], a także w przedstawieniach wystawianych w szkockich teatrach.
Od 2009 ponownie występuje w produkcjach telewizyjnych i kinowych. W 2010 zagrał w fabularyzowanym dokumencie Worried About The Boy poświęconym Boyowi George’owi. W 2011 wcielił się w postać Robba Starka w Grze o tron wyprodukowanej przez HBO[5].
Nagrodzony Złotym Globem za występ w roli głównej w serialu Bodyguard z 2018[6]. W 2019 otrzymał honorowy doktorat swojej macierzystej uczelni[7].