On stage, Elliott has appeared in the critically acclaimed Black Watch as Private Fraser, a role he played for two and a half years with the National Theatre of Scotland. In 2010 he played Claudio in a production of Measure for Measure at the Almeida Theatre, alongside Anna Maxwell Martin and Rory Kinnear.