Stir of Echoes

Tom Witzky is a phone lineman living in a working-class neighborhood in Chicago with his pregnant wife Maggie and his son Jake, who possesses the ability to commune with the dead. At a party one evening, Tom challenges Maggie's sister Lisa, a believer in paranormal activity, to hypnotize him. After putting him under, Lisa plants a post-hypnotic suggestion in Tom urging him to "be more open-minded". Tom then begins experiencing visions of a violent scuffle involving a girl who he later learns is Samantha Kozac, a 17-year-old that disappeared from the neighborhood six months prior.
While Tom and Maggie attend a high school football game, Jake is overheard by his babysitter, Debbie Kozac, as he speaks with Samantha. Debbie gets upset and snatches Jake, running off with him in the night. Meanwhile, Tom senses Jake is in danger and rushes home but finds him gone. Tom then sees strange flashes of red light that eventually leads him to the 'L' station where Debbie is speaking with her mother about Jake. When Tom and Maggie confront her, Debbie angrily questions them about her sister Samantha, explaining that she had an intellectual disability: having the mental capacity of an 8-year-old and thus a child's tendency to trust strangers. Tom denies knowing her to Debbie but admits to Maggie that she is the girl in his visions.
Tom becomes obsessed with Samantha and begins probing members of the community about her disappearance. This attracts the attention of his landlord Harry Damon, Tom's friend, Frank McCarthy and their respective sons Kurt Damon and Adam McCarthy, who all dismiss Samantha as a runaway teen. During an afternoon walk, Jake and Maggie encounter a funeral where Chicago policemen are saluting in a ceremony; here a policeman named Neil immediately recognizes Jake's unique talent and invites Tom to a private gathering of like-minded people to learn more about what is happening to his son. Maggie withholds her conversation with Neil from Tom and goes to the meeting herself, and Neil tells her the spirit that contacted Tom has asked for something and will grow upset if it does not get done. As predicted, Samantha begins plaguing Tom, eventually leading to his insomnia. He goes back to Lisa and demands she undo what she did, but when she hypnotizes him, Samantha tells him to dig. Tom complies and digs holes in the backyard and eventually tears up the house in a desperate attempt to appease Samantha.
While Maggie and Jake attend her grandmother's wake at a relative's house, Tom inadvertently knocks down a shoddy brick wall in the basement and discovers Samantha's decomposed remains. He receives a vision showing him that before his family moved in, Adam and Kurt lured Samantha into the house to rape her. When she resisted, they unintentionally suffocated her and hid her body. Tom brings Frank back to the basement to disclose to him the crime. Frank breaks down and admits that Adam and Kurt had already confided their secret to him and Harry. Frank pulls out a gun and demands to be alone. As Tom leaves the basement, he hears a single shot.
Harry and Kurt suddenly show up. Harry, in his capacity as landlord, voices displeasure with the torn up house. They corner Tom with the intention of killing him, but Maggie interrupts them when she arrives back home. As Harry takes her hostage, Frank emerges from the basement and fatally shoots both Kurt and Harry to save Tom and Maggie. Tom notices Samantha's spirit put on her glasses and coat, she smiles as she walks down the road and slowly fades away, suggesting her soul is finally at peace and is now free to fully move on.
Afterwards, the family packs up a U-Haul and moves out of the house. Meanwhile, Samantha's mother and sister are finally able to give her a proper funeral and burial. Tom and Maggie smile happily as they drive away to a new neighborhood, but Jake covers his ears as they approach their new home, overwhelmed by the spirits that linger in all of the houses they pass by.

Question: How does Tom know what happened to Samantha?
Answer: He sees a vision.