Roberts spent the first seven years of his professional career working in theatre. His stage credits include the title role in Hamlet, Winnie the Pooh, and the pantomimes Robin Hood and Beauty and the Beast.
Roberts' first television job was playing Jeremy Bamber in The White House Farm Murders] His other British television credits include Love Soup, Mayo, The Impressionists and Doctors. In 2001 he joined the regular cast of Channel 5 soap opera Family Affairs, playing Gavin Arnold. Roberts also appeared as cardiothoracic specialist Dr Philip Lawlor in three episodes of Holby City, and as Richard, aka Dad, in the Disney Channel series Life Bites.
Roberts moved to Los Angeles, despite not having any roles lined up, after seeing how successful fellow English actor Hugh Grant had become. During his time working in the US, he appeared in shows including Party of Five, Sliders, Beverly Hills, 90210 and Babylon 5. He also played the recurring role of Rex Buckland in six episodes of the first season of Charmed.
Discussing his time in Los Angeles, Roberts said: "Everything I went up for was an American character that could be played English ... there would be ten people auditioning for a role who were all American, and then little ol' me. I found a real niche."
On the differences between working in British and American television, he said: "It's much quicker working on things in America ... there’s lots of energy and enthusiasm there and people are always ready to tell you that you’re the best thing since sliced bread, even if perhaps you aren’t really."
Roberts' other credits include secret agent Max Meltus in the television commercials for cough medicine Meltus, and a 1998 commercial for Nescafé Gold Blend, opposite Simone Bendix. He has also lent his voice to the Doctor Who audio drama Kingdom of Silver, and the Stargate Atlantis audio drama The Kindness of Strangers.