Todd proclaims during his sermon that he believes his son went to Heaven, and the congregation gets up and hugs the family. Later, Colton sees the Lithuanian girl's painting of Jesus and says that is the Jesus he saw in Heaven.
The movie opens in Lithuania, with a young girl starting to paint a portrait. The story then shifts to Imperial, Nebraska where Todd Burpo (Greg Kinnear) is installing a garage door for a warehouse. In addition to that job, Todd is also the high school wrestling coach, a volunteer firefighter, and the pastor of the local Wesleyan church. He is currently on medical leave from the church after breaking his leg in a softball game and suffering from numerous kidney stones. Despite their financial burdens, Todd's wife Sonja (Kelly Reilly) insists on taking a family trip to Denver with their children Cassie and Colton (Connor Corum, in his film debut). In Denver, they visit a butterfly and spider sanctuary, where Cassie holds a tarantula but Colton is too afraid. On the way home, both Cassie and Colton become sick. Days later, Cassie has recovered, but Colton's fever is still rising. They take him to the hospital, where the doctors tell Todd and Sonja that Colton's appendix has ruptured and needs emergency surgery. They also tell the Burpo's to prepare for the worst. While Colton is on the operating room table, Sonja is calling friends asking for prayer while Todd is in the hospital chapel. There, Todd yells at God for testing his faith by putting him through so much misery and accepting it, but trying to take his son is going too far. Later, after what the doctors describe as a miracle, Colton survives the operation and eventually makes a full recovery.
Colton tells his dad that he is no longer afraid of anything and wants to hold that spider, so Todd and Colton return to Denver just to do that. Afterwards, they are at a playground and Todd asks Colton what changed his mind about the spider. This is where Colton first reveals that he went to Heaven and met Jesus. Colton says that he left his body during the operation, saw his parents in the two different rooms, and went to the church. He entered it and saw the entrance to Heaven. Jesus then comes along side of Colton and they enter Heaven to the sights and sounds of angels singing. Todd is stunned by what he hears, and upon returning home tells Sonja what he said. They go to Colton and ask him if he is sure it was Heaven and Jesus he saw. Colton says yes, and begins to describe aspects of Heaven that are scripturally accurate, such as the multi-colored horse that Jesus will ride on the day of His return, and the wounds on Jesus' hands and feet. He also told Colton that everything will be alright and he has nothing to be afraid of anymore. Colton then says the pictures of Jesus they have in their home don't look like him.
Now back at work as a pastor, Todd reveals to the congregation what Colton told him, and soon word spreads throughout the town about Colton's trip to Heaven. The family is even interviewed by the local newspaper. Some people in town are skeptical of his story, and Cassie is even picked on at school about it. She responds by punching out the two bullies who were making fun of Colton, which Todd later learns about but decides not to punish her. Meanwhile, Todd is having trouble accepting that his son went to Heaven, and seeks advice from his friends and even a psychologist as to alternate explanations. The psychologist gives a scientific explanation as to what happens when someone is about to die, and says that Colton was hallucinating. Sonja is also having trouble accepting what Colton says. She believes that he is combining several different stories he has heard throughout his life. At this time the church board has a meeting with Todd, led by the church organist Nancy (Margo Martindale) and church elder and Todd's best friend Jim (Thomas Haden Church). They tell him that Colton's story could split the church and they can't have that. His job could also be in jeopardy if the split happens.
After attending the funeral of a local man who died in a fire, Colton tells his dad that he met Pop, Todd's grandfather. Back at home, Todd pulls out a picture of Pop as an old man. Colton says that's not who he saw. Nobody in Heaven is old or wears glasses. Todd then finds a older picture of Pop as a young man without glasses, and Colton says that is the man he saw. Since Colton had never seen a picture of Pop, Todd starts to finally believe that Colton was not hallucinating what he saw. Later, Colton tells Sonja that he met his other sister in Heaven, the one that Sonja miscarried years ago. He described her as looking just like Cassie, but a little shorter and having her mom's hair color. Since neither Sonja nor Todd ever told Colton about her miscarriage, they are now convinced that he did indeed go to Heaven.
By this time, Colton's story is becoming national news, and Todd is ambushed by a phone call from a radio station asking him on the air if Colton's story is true. Todd responds by saying that anyone who wants to know should come to their church next Sunday. But before that happens, Todd goes to the cemetery to place flowers at a grave site. It's the grave of Nancy's son who was killed in Afghanistan several years ago. Nancy sees Todd at the cemetery and they have a talk. She tells Todd that she is turning into the bitter woman she vowed never to become and is not mad at Todd, but at God for allowing his son to live and her son to die. Todd tells her that God does not love him any more than He loves her and there is a reason that God allowed Colton to return. Nancy and Todd then embrace and she implies that his job is safe.
That Sunday, in front of a packed house, Todd tells what the family has gone through since the operation. With the congregation nearly in tears, he proclaims that he truly believes that his son went to Heaven. Sonja then gets up and hugs Todd, followed by their kids and then the entire congregation. The final scenes show the Burpo's at home. Todd is watching a news report about a girl on the other side of the world who had a similar experience to Colton. This is the young Lithuanian girl from the beginning of the movie, and she painted a portrait of Jesus that doesn't look like any other picture of Him. Colton sees the painting and his jaw drops. He tells his dad that painting is of the Jesus he saw in Heaven.
The movie then ends with title cards saying that Todd is still the pastor of the church in Nebraska, the Burpo's have had another son, and Colton is now a teenager, but Cassie says he is no angel.