Jamie Ashen (Ryan Kwanten) and his wife Lisa (Laura Regan) receive a mysterious ventriloquist doll in the mail, "Billy", in an unmarked package. Jamie and Lisa wonder who would have sent the doll. Lisa then remembers a poem she knew when she was younger, about a woman named Mary Shaw. Jamie disregards this and leaves to get dinner; he returns to discover Lisa is dead with her tongue ripped out, and Billy lying on the floor near her body. Detective Jim Lipton (Donnie Wahlberg) suspects Jamie of the murder, but there is no evidence against him. Jamie discovers that Billy belonged to Mary Shaw (Judith Roberts), a ventriloquist from his hometown of Ravens Fair.
Returning to the town for Lisa's funeral, he first confronts his estranged father about Mary Shaw. Jamie's father is wheelchair-bound with a new wife, Ella (Amber Valletta), who takes care of him. His father and Ella remind him of the children's poem, regarding Shaw and her penchant for cutting out her victims' tongues. Jamie leaves his father's home, warning Ella that his father is a monster. After Lisa's funeral, Jamie wanders into an old cemetery, where he finds Shaw's grave and those of her puppets. Marion (Joan Heney), the mortician's senile wife, warns him of the danger of Shaw's puppets, and he realizes he should rebury Billy. He does so, only to find the puppet in his room later, accompanied by Lipton — who dug the puppet back up in the belief that it is evidence that Jamie is trying to conceal —, still not convinced of Jamie's innocence. Jamie tells him about the poem, but Lipton is skeptical. The next morning, Jamie steals Billy from the detective, and brings him to the mortician, Henry, who finally tells him about Mary Shaw.