Hearts in Atlantis tells the story of Robert "Bobby" Garfield (David Morse), a middle-aged man recollecting his past, in particular the summer when he was eleven years old (Anton Yelchin). During that summer, he and his two friends, Carol Gerber (Mika Boorem) and John "Sully" Sullivan (Will Rothhaar), experienced many things together, the most mysterious of which was meeting an older gentleman named Ted Brautigan (Anthony Hopkins).
Bobby lives with his single mother, the self-centered Liz Garfield (Hope Davis), who takes in Brautigan as a boarder. Ted takes the lonely Bobby under his wing, while his mother is busy with her job - including entertaining her boss as a way of paying off debt supposedly left by Bobby's late father. The two form a paternal father-son bond, and it slowly becomes evident that Ted has some psychic and telekinetic powers. These same powers are the reason that Brautigan has come to this sleepy town. In due course Ted entrusts Bobby with the knowledge that he has escaped the grasp of the "Low Men", strange people who would stop at nothing to get him back in their control.
After reading Bobby's mind and realizing that the boy dreams of owning a bicycle; Ted kindly offers Bobby $1 a week in exchange for his reading a newspaper out aloud. Bobby quickly twigs that Ted has some other purpose in mind. Mysteriously, Ted asks Bobby to keep an eye on the neighborhood looking for any signs of the "low men", like announcements about missing pets. Bobby sees one, but doesn't tell Ted, afraid to lose his new friend.
Bobby, Carol, and John have frequent conflicts with the local town bully, Harry Doolin (Timmy Reifsnyder), whom Ted is able to scare away by looking into his mind and finding out that his violence is used to cover up the fact that he is secretly a cross-dresser. However, at one point, Harry hurts Carol, and when Ted manipulates her dislocated shoulder into place, Liz arrives, after being raped by her boss, and mistakenly believes that Ted is a child molester. She is confronted by Ted's ability to tell her the truth about what she has been through, and how her behavior is affecting her relationship with her son, providing another reason that Ted must leave. That and the "low men" are closing in on him.
Ted is eventually captured with the help of a tip from Liz. As some form of closure, Ted yells to Bobby as he is being driven away that he wouldn't have missed a moment "not for all the world", and later Bobby mirrors the same feelings. Bobby is later confronted by Harry but Bobby grabs the latter's baseball bat and beats him with it. Liz later finds a new job in Boston and moves the family there. Before he leaves, Bobby and Carol say their goodbyes and share a final kiss.
At the end of the film, a grown up Bobby (who has travelled back to attend the funeral of his childhood friend John 'Sully' Sullivan) meets a young woman named Molly who turns out to be Carol's daughter. Bobby produces a picture of a young Carol (who died in recent years) and gives it to Molly to keep.