Catherine (Julianne Moore), è una moglie ossessionata dalla verità, convinta che la persona che ama, il marito David (Liam Neeson), le stia mentendo. Decide quindi di metterlo alla prova e scoprire se la tradisce, assumendo una giovane e bella escort, Chloe (Amanda Seyfried). La ragazza deve tentare di sedurlo e metterlo alla prova senza rivelare la sua identità. La situazione però degenera e finisce per creare un pericoloso intrigo tra gelosie, inganni e seduzione.