Jeffrey kills his estranged wife and business partners and flees with his children: young Victoria and one-year-old Lilly. On a remote, snowy road, the car slips down an embankment into the woods. Jeffrey finds an abandoned cabin nearby and prepares to commit a murder/suicide. At the last moment, he is killed by a strange figure in the cabin.
For the next five years, Jeffrey’s brother Lucas and his girlfriend Annabel search for Jeffrey and the children. Searchers stumble upon the crashed car and eventually find the two children in the cabin. By this time, they’ve become animal-like. They are put under the care of psychiatrist, Dr. Dreyfuss. Lucas and Annabel are granted custody of the children under the agreement that they move into a large house used to do psychiatric case studies. The children’s rich aunt is angry that she did not obtain custody. It quickly becomes apparent that the strange figure, who the children repeatedly refer to as “Mama,” is in the new home interacting with the children. Her history is revealed throughout the movie through a combination of dreams Annabel has (induced by Mama), research by Dr. Dreyfuss, and conversations he has with Victoria.
“Mama” was a former patient named Edith at a mental asylum in the 1800s, who gave birth to a baby whom nuns had taken away from her. She stabbed a nun, broke out of the asylum, and ran away with her baby. After chased by authorities through woods, she jumps over a cliff into the lake below, hitting a tree branch on the way down. Edith’s corpse falls into the lake but the baby’s corpse hangs by a blanket on the branch and is recovered by authorities. Mama’s spirit was twisted by the grief of not knowing where her child was. For over a hundred years she searched the woods trying to find her baby. She was present when Victoria and Lilly were about to be killed by their father in the cabin but saved them and cared for them as her own. She plays with the children but hides from sight of anyone else.
Lucas encounters Mama, falls over a banister, and becomes comatose, leaving Annabel, who didn’t want the children, to care for them. Victoria becomes more like a normal child, but Lilly retains her animalistic nature. Annabel becomes attached to the children, and Victoria begins to prefer her over Mama. Lilly still remains completely loyal to Mama. Victoria worries for Annabel’s safety, saying Mama gets jealous. Meanwhile, Dr Dreyfuss begins to wonder if Mama is real. He manages to obtain the corpse of Mama’s baby with the help of a librarian. After seeing Mama during a session with Victoria, he goes to the cabin, where Mama attacks him.
After seeing bruises Lilly obtained from her animal tendencies, the aunt believes Annabel is abusing the children and begins to spy on the house for proof.
Annabel visits Dr. Dreyfuss’ office, learning he is missing. She steals and reads his research notes, taking the baby corpse in the process. Mama becomes angry due to Victoria’s neglect of her and attacks. Victoria tries to defend Annabel and pleads for Mama to stop, but Lilly is still clearly loyal to Mama. Annabel is knocked out, but at the last moment the aunt breaks into the house and has her body possessed by Mama. Mama uses this body to take the children to the cabin.
Annabel wakes up and drives to the lake. She finds Lucas near the cabin, who had gone there due to a dream he had while comatose where his brother asked him to save the girls. At the cabin they find the aunt’s corpse but not the children. Annabel sees them on the cliff that Mama had originally jumped from. She realizes Mama’s intention to jump off the cliff with the children. Lucas and Annabel arrive in time to stop this, but Mama attacks them. She becomes pacified, taking on a human appearance when Annabel gives her the baby’s corpse.
Lilly calls out for Mama and Mama throws the baby’s corpse away, preferring Lilly. She grabs the kids and walks to the edge of the cliff. Annabel tries desperately to stop them, eventually beaten to the point that she can only hold onto Victoria’s bathrobe belt. Victoria tries to convince her sister Lilly not to go with Mama. Lilly wants the three of them to be together. Mama jumps off the cliff with just Lilly. They both turn into a shower of moths. The movie ends with Victoria realizing that a lone butterfly is in fact Lilly, watching over her.