He began acting in 1996, at the age of ten, when he was cast in the role of Charlie Bates in the Maesteg Amateur Operatic Society production of Oliver!.
He began to accrue significant roles on stage including Chino in West Side Story and Cosmo in Singin' in the Rain for Bridgend County Youth Theatre.
2020 saw Morgan make his London West End debut in The Man Whose Hair Grew Black playing the role of Brian Thomas for Gurnwah Productions at the Leicester Square Theatre in February.
In 2010 Morgan appeared on BBC1 in The Indian Doctor, a period comedy-drama set in the 1960s, with a cast that included Sanjeev Bhaskar, Ayesha Dharker, Mark Williams and Beth Robert.
In 2014 he made a return to television in 24: Live Another Day as a DSS Agent for 1 episode, and followed this up in 2016 playing Morgan in "The Corpse Series" which was released through Crypt TV in the US in 2017.