Frances McCullen (Chloƫ Grace Moretz) is a waitress living in New York City with her friend Erica (Maika Monroe). Frances is still reeling from the death of her mother one year prior. One morning, Frances finds a handbag on a subway train; the ID inside confirms the bag belongs to a Greta Hideg (Isabelle Huppert). Frances visits Greta to return the bag and Greta invites her in for a cup of coffee.

Greta tells Frances she is a widow from France, and her daughter is still there, studying in Paris. Frances begins to spend time with Greta to keep her company, despite Erica’s objections that their friendship is unnatural. One night while having dinner at Greta’s, Frances finds a closet full of multiple handbags, identical to the one she found on the train. Attached to the bags are names and phone numbers, including Frances’.

Frances, disturbed by her discovery, decides to cut ties with Greta. Greta begins to stalk Frances, seeing herself as a replacement for Frances’ late mother; she rings her multiple times and even turns up at the restaurant where Frances works, causing a disturbing scene that results in Greta being hospitalized. Greta also stalks Erica; Frances and Erica pursue a restraining order, but are told it could take months. Frances later finds out Greta is Hungarian not French, and that Greta’s daughter died years ago.

Frances is torn between going to live with her father or going on vacation with Erica. Erica then suggests Frances tell Greta she is going away but should actually stay at home. The next morning, Frances is kidnapped by Greta; she locks Frances in a wooden toy chest in a secret room, then uses Frances’ cell phone to separately text Erica and Frances’ father, that Frances is with the other. When Frances is released from the chest, she finds articles of clothing and IDs of other young women Greta has previously kidnapped.

Erica and Chris eventually get together and learn that Frances is not with either of them. As time passes, Greta forces Frances to learn Hungarian and how to play piano. During a cooking lesson, Frances cuts off Greta’s finger and knocks her unconscious. Frances tries to escape but all the doors and windows are sealed. Frances runs into the basement to search for an exit and finds one of Greta’s previous victims. Greta sneaks up behind Frances and wraps a bag around her head until she passes out.

Chris hires Cody, a private investigator, to find Frances and investigate Greta. Cody learns that Greta was a nurse who had been let go for drug abuse. Cody meets with Greta in her home. Frances, gagged and bound, attempts to get his attention by shaking the bed, but Greta blocks out the noise with music. When Greta is out of the room, Cody figures out there is a secret room behind the piano. Greta suddenly appears and plunges a syringe into his neck. He draws his gun as he loses consciousness, and Greta uses it to shoot him dead.

An indeterminate amount of time passes. Greta leaves another handbag on the subway and a young woman brings it to Greta’s home. She invites the girl in and makes them a pot of coffee; Greta drinks her cup and starts to feel faint. The woman takes off her wig and reveals herself to be Erica, who has drugged Greta. She mocks Greta and tells her she has been searching for the handbag on the subway for a long time. Greta passes out and Erica finds Frances. As they try to escape, Greta, regaining consciousness, emerges from the shadows and grabs Frances before passing out again.

Erica and Frances place Greta’s unconscious body in the toy chest and leave, using a small metal statue of the Eiffel Tower to lock it shut. After they leave the room to summon the police, Greta begins to rattle the lid of the chest and the statue shifts.