Catherine (Julianne Moore) i David (Liam Neeson) na pierwszy rzut oka wydają się być idealną parą. Wydaje się, że małżeństwo wiedzie idylliczne życie, lecz gdy David spóźnia się na samolot i swoje urodzinowe przyjęcie-niespodziankę, długo skrywane podejrzenia Catherine wydostają się na powierzchnię. Podejrzewając męża o zdradę, postanawia wynająć call-girl, by ta spróbowała uwieść jej męża, tym samym sprawdzając jego lojalność. Catherine aranżuje spotkanie Chloe (Amanda Seyfried) z Davidem, po którym dziewczyna ma się z nią spotkać i opowiedzieć jej, co się podczas niego wydarzyło. Z czasem spotkania stają się coraz częstsze, a opowieści coraz bardziej obrazowe.