NOTE: This spoiler was submitted by Jeremy.
"Once upon a time..."
We see a car has the radio blaring an announcement about a market collapse, and an increase in suicides and murders, especially a shootout at a financial firm.
A man named Jeff (Nikolaj Coster-Waldau) runs into his house and fetches his two daughters - Victoria, the older one, and Lilly, the younger. He packs them in his car and speeds off. When Victoria complains that he's driving too fast, Jeff yells at her and he swerves hard, almost crashing off the road.
Meanwhile, police are at his house, and his twin brother Lucas runs up asking about his brother. He panics when he fears that something may have happened to the girls, but the police won't let him in.
Somewhere in the woods, Jeff takes the girls to a quiet area. We hear the radio continuing that Jeff is the man who committed the shooting, and that he has murdered his ex-wife and kidnapped his daughters. Jeff and the girls stumble upon an abandoned cabin in the middle of the woods. While in there, he becomes regretful over what he's done, and he takes out a gun. He goes to Victoria and takes off her glasses so she can't see what's happening. He turns her toward the window, and almost kills her until a ghoulish figure grabs him and pulls him away screaming. Victoria asks for her dad and stares at the figure, even though all she can see is blurred.
Five years later, we meet Lucas again, and his girlfriend Annabel (Jessica Chastain). They've been searching for the girls non-stop. One afternoon, two searchers go into the woods and find the cabin. It's quiet and seemingly empty inside, but two feral-like creatures walk crawl around, nearly attacking the two men.
As Annabel is playing with her punk rock band, Lucas comes in and tells her that the girls have been found. Annabel cannot believe it.
The girls are placed in a room watched over Dr. Gerald Dreyfuss (Daniel Kash), a psychiatrist. In court, there is a legal dispute over the custody of the girls between Lucas and Annabel, and the girls' wealthy aunt Jean (Jane Moffat). She wants to take the girls to the other side of the country, but Dreyfuss meets with Lucas and Annabel over an agreement they can make in order to adopt the girls.
Annabel meets with one of her bandmates, and it turns out they have to move into a special home that is in an undisclosed location. Dreyfuss also has them do this so he can monitor the girls' progress, and if they go with Jean, he couldn't do that. The bandmate asks Annabel why she can't just forget about the girls and leave Lucas. She says she can never do that, and she quits the band.
Dreyfuss tells the couple that the girls keep talking to someone they only refer to as "Mama." When meeting with the girls, Lilly calls Annabel "Mama", which she doesn't like. Victoria tries to behave normally, but Lilly still acts feral. Victoria goes to play with the same dog that was left on the day her father took them. It becomes clear that this figure from earlier (which will be referred to as Mama from here on out) is now in the house watching over the girls. Annabel even claims to hear someone singing a lullaby to them in a lower voice.
One afternoon, Lucas is pushed off a railing and down the stairs by Mama. Annabel runs to him, and he is put in the hospital, now in a coma. Annabel is worried when she learns she must be the sole caretaker of the girls, as she does not see herself ready to take on this task.
Annabel has a hard time communicating with the girls and taking care of them. She tries to be affectionate to Victoria, but she won't let her, saying she (Mama) wouldn't like that. Meanwhile, as more investigation is done regarding the girls' mother, we learn about a patient at an asylum named Edith who had a physical deformity (presumably Down Syndrome, but never explicitly stated).
Annabel takes the girls to visit Lucas in the hospital as he recovers. That evening, he has a dream in which he sees Jeff, dead and practically falling apart, warning him to protect his daughters, all while pointing to a direction in the woods.
We see a dream/flashback that Mama presents to Annabel as she sleeps. Mama (when she was Edith) breaks out of her place and stabs a nun, then takes the child she was holding. As she is chased into the woods, she runs to the edge of a cliff, and after a while, she jumps with the baby and hits a branch on the way down. Mama had fallen into the lake, and the baby was killed.
Jean goes to visit the girls, and after a while, she is told off and threatened by Annabel. She calls a social services number and implies that Annabel is abusing the girls (due to the bruises on their faces from their time alone), and asks how much evidence she would need to collect to confirm this.
Drefyuss comes over to meet with Victoria and have a couple of sessions with her. He learns more about Mama through her and starts to believe the stories he has read about her. When he seems to be pressuring Victoria into telling him more about Mama, the spirit begins to appear on the wall, frightening Dreyfuss out of there.
One afternoon, Lilly almost climbs out of a window, but Annabel rescues her. She tries to calm her down, but she slaps Annabel. After a struggle, Annabel is able to soothe her by breathing on her hands, which Lilly seems to recognize, as she shows her the right way to do it. This is the first bit of real motherly affection Annabel has shown, and even she realizes it. She nails the windows shut to protect the girls.
As he continues his research, Dreyfuss finds the corpse of Mama's child, and then goes to the cabin to find out more. However, he knows Mama's presence is there, and as he tries to get a hold of her, he starts flashing his camera, catching brief glimpses of her before she snaps his neck and kills him,.
Annabel goes to Dreyfuss's office to find out what else he can tell her about Mama, but his secretary has noticed his disappearance. When nobody is looking, Annabel steals his laptop. He looks into his video files and sees the information on Edith and Dreyfuss's sessions with Victoria, as well as knowing about the baby's corpse. As this happens, Lucas has left the hospital and goes to find the location that his brother was pointing to.
Mama's jealousy and anger becomes greater over time. She goes to attack Annabel, nearly sucking out her soul, despite Victoria's pleading with her to stop. Before Annabel is killed, Jean gets into the house, and Annabel is unconscious. Mama goes downstairs and possesses Jean's body, then abducts the girls.
Annabel wakes up, and notices the girls are missing. She runs to the woods and finds Lucas, and together, they encounter the cabin. Inside the cabin, they see Jean's body, now empty, collapse to the ground and crumble. They find the girls standing near the cliff where Edith jumped, and Mama is preparing to take the girls down with her. In order to prevent this from happening, and to stop Mama from attacking, Annabel takes out the baby's corpse and gives it to Mama. She appears to return to her normal form and starts walking over the edge with it.
Then, Lilly calls after Mama, and she reverts to her twisted form. She incapacitates Lucas and then takes the kids. Annabel tries to rescue them, but Mama is holding her back as the girls warn Annabel to stay down so she won't get hurt. Despite this, she is able to hold onto Victoria, but only her. Victoria pleads with Lilly to stay, but Lilly tells her that she should come with her and Mama. After a tearful moment, Lilly goes with Mama, and Victoria stays with Annabel.
As Mama's spirit plunges to the bottom with Lilly, they share a brief moment in mid-air, where Lilly smiles and Mama looks peaceful. They hit the branch again, and their spirits come apart in butterfly forms (a recurring appearance of Mama's throughout the movie). At the edge of the cliff, Victoria and Annabel cry for Lilly as Lucas comes to and embraces them.
Suddenly, a pretty blue butterfly appears on Victoria's hand. She realizes it is Lilly. She goes back to Annabel and Lucas as the Lilly butterfly flies away at the audience.