| Year | Name | Role | Notes |
| 2007 | Grownups | Chloe | Episode: "Send" |
| Holby City | Tanya Cusan | Episode: "Someone to Watch Over Me" |
| 2008 | Survey No. 257 | Emma | Short film |
| Inspector George Gently | Carmel O'Shaughnessy | Episode: "The Burning Man" |
| Easy Virtue | Sarah Hurst | |
| 2009 | Wuthering Heights | Catherine Earnshaw | Television film |
| The Take | Maggie Summers | 4 episodes |
| Spanish Flu: The Forgotten Fallen | Peggy Lytton | Television film |
| Marple: The Mirror Crack'd from Side to Side | Margot Bence | Television film |
| 2010 | Foyle's War | Mandy Dean | Episode: "Killing Time" |
| 2010–2011 | DCI Banks | Lucy Payne | 3 episodes |
| 2012 | The Town | Alice | 3 episodes |
| World Without End | Caris | 8 episodesNominated—Saturn Award for Best Actress on Television |
| Entity | Kate Hansen | |
| 2014 | Edge of Tomorrow | Nance | |
| 2014, 2017 | Peaky Blinders | May Fitz Carleton | Series 2 and 4 |
| 2015 | In the Heart of the Sea | Peggy Gardner Chase | |
| Jonathan Strange & Mr Norrell | Arabella | |
| 2016 | London Has Fallen | MI6 Agent Jacquelin "Jax" Marshall | |
| Close to the Enemy | Rachel Lombard | BBC2 TV miniseries written and directed by Stephen Poliakoff |
| Dark Heart | Juliette Wagstaffe | TV series |
| 2017 | King Charles III | Kate | Television film |
| 2018 | Swimming with Men | Swimming Coach | |
| Press | Holly Evans | Miniseries |
| Trust | Robina Lund | Miniseries |
| 2019 | A Christmas Carol | Lottie/Ghost of Christmas Present | Miniseries |
| 2022 | The Peripheral | Aelita |
| 2025 | Malice | Sophie | TV series |
| 2026 | Masters of the Universe | Queen Marlena Glenn | Post-production |