| Peaky Blinders: The Immortal Man (2026) as Thomas 'Tommy' Shelby |
| 28 Years Later: The Bone Temple (2026) as Jim (uncredited) |
| Steve (2025) as Steve |
| Small Things Like These (2024) as Bill Furlong |
| Kensuke's Kingdom (2024) as Dad (voice) |
| Oppenheimer (2023) as J. Robert Oppenheimer |
| Inside Christopher Nolan's Oppenheimer (2023) as Self - J. Robert Oppenheimer |
| All of This Unreal Time (2021) as Man |
| A Quiet Place Part II (2021) as Emmett |
| I'm the Man (2019) as Narrator |
| Anna (2019) as Lenny Miller |
| The Irish Revolution (2019) as Self - Narrator (voice) |
| The Overcoat (2018) as Akaky (voice) |
| The Silent Man (2018) as The Doll |
| The Delinquent Season (2018) as Jim |
| The Party (2017) as Tom |
| Dunkirk (2017) as Shivering Soldier |
| Free Fire (2017) as Chris |
| Anthropoid (2016) as Josef Gabčík |
| Versus: The Life and Films of Ken Loach (2016) as Self - Actor |
| In the Heart of the Sea (2015) as Matthew Joy |
| Atlantic: The Wildest Ocean on Earth (2015) as Himself - Narrator |
| Lennon or McCartney (2014) as Self |
| From the Mountain (2014) as Man |
| Transcendence (2014) as Agent Donald Buchanan |
| Aloft (2014) as Ivan |
| Broken (2012) as Mike Kiernan |
| The Dark Knight Rises (2012) as Dr. Jonathan Crane / Scarecrow |
| Red Lights (2012) as Tom Buckley |
| In Time (2011) as Raymond Leon |
| Retreat (2011) as Martin |
| Misterman (2011) as Thomas Magill |
| TRON: Legacy (2010) as Edward Dillinger (uncredited) |
| Inception (2010) as Robert Fischer, Jr. |
| Peacock (2010) as John Skillpa / Emma Skillpa |
| Perrier's Bounty (2009) as Michael McCrea |
| The Water (2009) as The Son |
| The Dark Knight (2008) as Scarecrow |
| The Edge of Love (2008) as William Killick |
| Waveriders (2008) as Narrator |
| Watching the Detectives (2007) as Neil |
| Sunshine (2007) as Capa |
| The Silent City (2006) as Unnamed Character |
| The Wind That Shakes the Barley (2006) as Damien |
| Carry On Ken (2006) as Self |
| Breakfast on Pluto (2005) as Patrick 'Kitten' Braden |
| Red Eye (2005) as Jackson Rippner |
| Batman Begins (2005) as Dr. Jonathan Crane |
| Cold Mountain (2003) as Bardolph |
| Girl with a Pearl Earring (2003) as Pieter |
| Intermission (2003) as John |
| 28 Days Later (2002) as Jim |
| How Harry Became a Tree (2002) as Gus |
| Disco Pigs (2001) as Pig / Darren |
| On the Edge (2001) as Jonathan Breech |
| Watchmen (2001) as Phil |
| A Man of Few Words (2000) as Best Man |
| Filleann an Feall (2000) as Ger |
| Sunburn (1999) as Davin McDerby |
| Eviction (1999) as Brendan McBride |
| The Trench (1999) as Rag Rookwood |
| At Death's Door (1999) as Young Reaper |
| Sweety Barrett (1999) as Pat the Barman |
| Quando (1997) as Pat |
| Harriet and the matches as Cat (voice) |
| The Meetings of the water as Man |
| Peaky Blinders: A Peek Behind the Curtain as Thomas Shelby / Tommy / Himself |
| Blood Runs Coal as Chip Yablonski |
| Untitled Prison Film |
| 28 Years Later Part 3 as Jim |
| Peaky Blinders: The Immortal Man Producer |
| 28 Years Later: The Bone Temple Executive Producer |
| Steve Producer |
| 28 Years Later Executive Producer |
| Small Things Like These Producer |
| Watchmen Writer |
| Blood Runs Coal Producer |
| 28 Years Later Part 3 Executive Producer |