Stephens comenzó su carrera cinematográfica con el papel de Otelo en 1992, en Orlando, de Sally Potter. Desde entonces ha hecho apariciones regulares en televisión (incluyendo en The Camomile Lawn, 1992) y en el escenario.
Interpretó el papel principal en una producción de la Royal Shakespeare Company de Coriolanus poco después de graduarse de LAMDA; esa misma temporada interpretó a Claudio en Medida por medida para la RSC. También interpretó a Stanley Kowalski en una producción del West End de Tennessee Williams, A Streetcar Named Desire, y Hamlet en 2004. Ha aparecido en Broadway en Ring Round the Moon. Interpretó el papel principal en la película Fotografiando hadas e interpretó a Orsino en la adaptación cinematográfica de Trevor Nunn de 1996 de la Noche de Reyes de William Shakespeare. En 2002 interpretó a Gustav Graves en la película de James Bond Die Another Day. Con 33 años en el momento del estreno de la película, sigue siendo el actor más joven en interpretar a un villano de Bond.
En 2005 interpretó el papel de un capitán del Ejército británico en la película india The Rising: Ballad of Mangal Pandey, retratando los acontecimientos de la rebelión india de 1857. Al año siguiente regresó a la India para interpretar a un oficial renegado de la Compañía Británica de las Indias Orientales en Sharpe’s Challenge. A finales de 2006 interpretó a Edward Rochester en la aclamada adaptación televisiva de la BBC de Jane Eyre (transmitida en los Estados Unidos en PBS a principios de 2007) y El Salvaje Oeste en febrero de 2007 para la BBC en la que interpretó al general George Armstrong Custer en la última posición de Custer.
A mediados de 2007, Stephens interpretó el papel de Jerry en una reposición de la traición de Harold Pinter bajo la dirección de Roger Michell. Más tarde ese mismo año, Stephens también interpretó a Horner en el renacimiento de Jonathan Kent de la obra de William Wycherley The Country Wife. La obra fue la producción inaugural de The Theatre Royal Haymarket Company, que además de Stephens incluye a los actores / actrices Eileen Atkins, Patricia Hodge, David Haig y Ruthie Henshall. Se espera que varios miembros de la compañía protagonicen próximas producciones en el Teatro Haymarket con varios directores artísticos. La formación de la compañía es considerada por muchos críticos teatrales de Londres como un movimiento audaz para el teatro del West End.
En febrero de 2008, la Fox Broadcasting Company dio el visto bueno para elegir a Stephens como el protagonista de un posible programa de televisión estadounidense de una hora de máxima audiencia, Inseparable, que sería producido por Shaun Cassidy. Presentado como una historia moderna de Jekyll y Hyde, el programa iba a presentar a un psicólogo forense parcialmente paralizado cuya otra personalidad es un criminal encantador. El casting de Stephens fue muy inusual, porque Fox aún no había aprobado un guion ni comprado un piloto para el espectáculo. Sin embargo, a mediados de mayo de 2008, The Hollywood Reporter anunció que «en el momento en que la cadena recogió el piloto . . . espera, Stephens había expirado . . . .En mayo de 2008, Stephens interpretó el papel de James Bond en una producción de BBC Radio 4 de Dr. No de Ian Fleming, como parte de la celebración del centenario del nacimiento de Fleming. La producción fue, según se informa, la primera dramatización de radio de la BBC de la novela, aunque Moonraker estuvo en la radio sudafricana en 1956, con Bob Holness proporcionando la voz de Bond. Desde entonces ha aparecido en varias adaptaciones de otras novelas de James Bond.
También en mayo de 2008, Stock-pot Productions anunció que Stephens tendrá el papel principal en un largometraje titulado Fly Me, co-protagonizado por Tim McInnerny. Stock-pot también fue el productor de One Day, una película corta de 2006 mostrada en festivales internacionales de cine, en la que Stephens interpretó un pequeño papel como el jefe del personaje de McInnerny.
El 5 de octubre de 2008, Stephens apareció en el escenario del London Palladium como parte de un acto benéfico titulado «The Story of James Bond, A Tribute to Ian Fleming». El evento, organizado por la sobrina de Fleming, Lucy Fleming, contó con música de varias películas de James Bond y estrellas de cine de Bond que leyeron las novelas de Bond de Fleming. Stephens tomó el papel del propio James Bond en las lecturas.
A principios de diciembre de 2008, Stephens leyó Coda, el último libro escrito por su buen amigo Simon Gray, para BBC Radio 4. Los extractos de los que lee Stephens incluyen la descripción de Gray de su participación como padrino en el bautizo del hijo de Stephens, Eli.
A principios de 2009, Stephens apareció como el príncipe John en la temporada 3 de la serie de la BBC Robin Hood. La serie también se emitió en BBC America en los Estados Unidos. Las apariciones televisivas más recientes de Stephens incluyen dos episodios de una serie de televisión de seis partes, Strike Back, basada en la novela de Chris Ryan. La serie se emitió en mayo de 2010.
A mediados de 2009, Stephens regresó al escenario de Londres en la producción de Donmar Warehouse de A Doll’s House de Ibsen junto a Gillian Anderson y Christopher Eccleston.
En 2010, protagonizó la película para televisión The Blue Geranium, una secuela más de la serie de televisión y películas basadas en el personaje de Miss Marple de Agatha Christie. El programa fue transmitido en los Estados Unidos por PBS en junio de 2010. Stephens también actuó recientemente como un detective altamente egocéntrico junto a Lucy Punch en una serie de televisión de comedia de tres partes para BBC Two titulada Vexed.
Stephens tomó un pequeño papel secundario en un cortometraje, The Lost Explorer, el debut como director del fotógrafo Tim Walker. La película está basada en un cuento del autor Patrick McGrath.
Mientras tanto, en el escenario de Londres en la primavera de 2010, Stephens recibió críticas sobresalientes por su actuación como Henry en una reposición de The Real Thing de Tom Stoppard, dirigida por Anna Mackmin en el Teatro Old Vic de Londres. Sobre su debut en el Old Vic, donde sus padres actuaron como parte de la Royal National Theatre Company de Laurence Olivier, Stephens dijo: «Es muy conmovedor para mí hacer algo allí. Significa que tiene una fascinación añadida. Era un lugar histórico, pero nunca vi nada cuando estábamos allí, lo cual es muy triste, porque recién nací. Soy un gran admirador del trabajo de Stoppard.»
En 2010, Stephens apareció como Georges Danton en Danton’s Death. La obra fue otro debut de Stephens, esta vez en el Royal National Theatre de Londres.
A lo largo de los años, Stephens ha continuado narrando prolíficamente audiolibros y actuando en dramas de radio; en los últimos tres años, ha promediado cuatro o cinco presentaciones de este tipo por año. En enero de 2011, Stephens se unió a otras estrellas para narrar porciones de la Versión King James de la Biblia para BBC Radio 4 como parte de una celebración del 400 aniversario de la publicación de la Biblia. Stephens interpretó el papel de Philip Marlowe de Raymond Chandler en un serial de radio, que debutó en febrero de 2011. Stephens narró otro audiolibro, Paul Temple and the Geneva Mystery, lanzado en febrero de 2011.
De 2014 a 2017, Stephens interpretó al capitán James Flint en la serie de televisión de Starz Black Sails, una precuela de Treasure Island ambientada a principios del siglo XVIII durante la Edad de Oro de la Piratería.
En 2016, fue elegido como el ex Primer ministro británico Tony Blair en la película The Journey, que presentaba a Timothy Spall como predicador de fuego y, finalmente, Primer Ministro de Irlanda del Norte, Ian Paisley, con Colm Meaney interpretando a Martin McGuinness. John Hurt también protagonizó.
En 2018, aparece como John Robinson en Lost in Space, el remake de Netflix de la serie de televisión de 1965.