His breakthrough came in 2008 when he was cast as Prince Arthur, who later becomes the legendary King Arthur, in the BBC One fantasy TV series Merlin. The show was a consistent hit series in the US; its first season was shown on the broadcast network NBC and its second, third, fourth, and fifth seasons on NBC’s affiliate cable network Syfy. Merlin ended its 5-year run in 2012. James went on an exploration of Arthurian legends for BBC Wales, The Real Merlin & Arthur, in 2009.
In 2015, James was cast as a villain in Underworld: Blood Wars. The same year, he appeared in the television series iZombie as recurring character Lowell Tracey, a love interest for main character Liv. He starred as title character Damien Thorn on television series Damien, a sequel to the Omen film series. The show debuted in March 2016 and lasted for one season.