Craig was born in Chester, Cheshire, England. His mother, Carol Olivia (née Williams), was an art teacher, and his father, Timothy John Wroughton Craig, was the landlord of the pubs "Ring o' Bells" (in Frodsham) and "The Boot Inn", and also served as a midshipman in the Merchant Navy. Both of Craig's parents were of half Welsh descent. He was brought up in Liverpool and on the Wirral, Merseyside, and began acting in school plays at age six. Craig went to a primary school in Frodsham and Hoylake called Holy Trinity Primary School. He moved to London when he was sixteen to join the National Youth Theatre after a stay at Calday. He and his older sister, Lea, attended Hilbre High School and Calday Grange Grammar School in West Kirby. He played for Hoylake Rugby Club. He attended the Guildhall School of Music and Drama at the Barbican and graduated in 1991 after three years of study under Colin McCormack.
Craig appeared as Joe in the Royal National Theatre's production of Tony Kushner's Angels in America in November 1993. An early starring role was as 'Geordie' in the BBC's 1996 drama Our Friends in the North, with early film roles being as Angelina Jolie's rival and love interest in Lara Croft: Tomb Raider (2001), before appearing in Sam Mendes's movie Road to Perdition (2002), with Tom Hanks and Paul Newman. Other leading film roles include Sword of Honour (2001), The Mother (2003) with Anne Reid, Sylvia (2003) with Gwyneth Paltrow, Layer Cake (2004) with Sienna Miller, Enduring Love (2004) with Rhys Ifans, Steven Spielberg's Munich (2005) with Eric Bana, Infamous (2006), and The Golden Compass (2007). He recently starred in Defiance.