- Keira Knightley Cecilia Tallis
- James McAvoy Robbie Turner
- Romola Garai Briony Tallis (18 años)
- Brenda Blethyn Grace Turner
- Vanessa Redgrave Briony Tallis (de mayor)
- Saoirse Ronan Briony Tallis (13 años)
- Patrick Kennedy Leon Tallis
- Benedict Cumberbatch Paul Marshall
- Juno Temple Lola Quincey
- Peter Wight Inspector de policía
- Harriet Walter Emily Tallis
- Michelle Duncan Fiona MacGuire
- Gina McKee Hermana Drummond
- Daniel Mays Tommy Nettle
- Nonso Anozie Frank Mace
- Alfie Allen Danny Hardman