Rachel (Blunt) is a recently divorced alcoholic who left her husband, Tom (Theroux), after catching him with another woman. She keeps an eye on her ex-husband and the mother of his child, Anna (Ferguson), when she passes his house on the train each morning, but she also becomes increasingly fascinated with his next-door neighbors, Megan (Bennett) and Scott (Evans), who seem to have the perfect, loving marriage that Rachel never had. Soon enough, Rachel begins stalking Megan, obsessing over the life that seems so perfect. When Megan is found dead only a few hours after Rachel discovers that the woman was having an affair, Rachel's erratic behavior quickly makes her the prime suspect in a murder investigation.
Karen (Fisher) and Jeff (Galifianakis) Gaffney have a pretty normal suburban life: a nice house, decent jobs and pretty good kids who are away at sleepaway camp for the summer. Their peaceful little cul-de-sac is shaken up, however, when Tim (Hamm) and Natalie (Gadot) Jones move in a few houses down. Not only are the new neighbors just a bit too perfect and worldly, they also seem to be much more friendly with the Gaffneys than new neighbors have any right to be -- suspiciously so. Karen quickly begins to suspect that there's far more to the Joneses than meets the eye.
David (Paul) and Claire (Wallis) are deeply in love with each other -- or so David thinks. When Claire goes missing without leaving any trace, David begins obsessively trying to find out where she went, eventually uncovering clues that suggest the life that she had been living with him had been a sham. He finds out that she had a whole other life that she kept hidden. The truth shocks him as he digs deeper.