Luego de aparecer en la comedia The Hot Chick, comenzó a obtener papeles protagónicos en Mean Girls, The Notebook, Wedding Crashers, Midnight in Paris y The Time Traveler's Wife. También interpretó a Ani Bezzerides en la segunda temporada de True Detective, la serie de crímenes de HBO, y luego tuvo un papel protagónico en Doctor Strange.
Se graduó con un título en teatro de la Universidad de York.
Ryan Gosling y ella obtuvieron un premio Teen Choice por sus papeles en The Notebook, incluyendo Mejor Química en Escena y Mejor Beso.
Tiene una hermana llamada Keyleen y un hermano llamado Dan. En el 2016 comenzó a salir con el escritor Jamie Linden. La pareja recibió a su primer bebé juntos en abril del 2018 y actualmente está esperando su segundo bebé. Anteriormente salió con sus co-protagonistas Michael Sheen, Josh Lucas y Ryan Gosling.
Protagonizó Sherlock Holmes junto a Robert Downey Jr.