The film opens with a young boy named Bart Millard who is 10-years-old and lives in Greenville, Texas. His dad Arthur (Dennis Quaid) is an alcoholic and berates and belittles Bart as well as Bart's mother. Bart always has headphones on to listen to music and creates things out of odds and ends. His dad gets angry at him and throws all of his little creations into a fire pit.
Bart's mom takes Bart to a week-long Christian camp and before dropping him off says with tears "you know I love you right?" Bart says yes and goes to the camp. As he's walking in, he meets another young camper named Shannon who shows Bart the ropes, and they become fast friends. During the camp Bart knocks over Shannon's journal and exposes a drawing saying "Shannon Loves Bart Millard," and he starts to blush. Shannon confronts him about the journal the next night under a fireworks show and says that maybe someday they'll fall in love. Young Bart comes home from camp with a moving truck in front of the house and finds out that his mom is moving away and he chases the truck down the road screaming for her not to leave.
In a jump forward a few years later, Bart (J. Michael Finley as a teenager) is in high school, and he and Shannon are dating. Bart is a football player like his dad was. During a practice, Bart breaks his leg or ankle and is taken to the hospital where his dad informs him that the doctor said he could never play again. Shortly after the accident while at school Bart is spotted by the music director singing a song and she's moved by his performance and casts him as the lead in Oklahoma without his permission. Bart tells her he won't do it, but she convinces him to do it. He takes the role and blows everyone away with his singing.
The next morning Bart's father is at a diner and sees a pamphlet for the show with Bart listed as the star, and he falls over in his chair in obvious pain, and it's not clear if it's a heart attack or something else. Upon going to the hospital, he's informed that he had low blood sugar and a mass in his body. We find out soon it's pancreatic cancer and he doesn't seem like he wants treatment. Bart is kind of aloof throughout this part of the film and Shannon constantly presses him to open up and share why he's hurting about his father dying. He refuses to and even tells her he doesn't love her, which breaks her heart.
A few months later, upon graduating from high school, Bart immediately leaves Texas with his guitar to pursue a life in music. He ends up in Oklahoma City where he meets a band that would eventually become the group MercyMe. They are going around playing to youth camps and Christian organizations, and they catch the attention of producer Scott Brickell (Trace Adkins) who works with the band and tells Bart he needs to be more real, to which Bart gets a bit defensive about but works on. Bart tries to reconnect with Shannon during this time, but she rebukes his advances.
Scott gets MercyMe a Nashville showcase with many record executives and also introduces him to Christian singing stars Amy Grant and Michael W. Smith. Bart is super nervous and chats their ears off before someone whisks him away. The showcase goes well for MercyMe, and they're backstage waiting for Scott to come back and report what all the record executives say. Bart can't wait, and he goes out to talk with all of them who all tell him he's either not good enough or not ready. Bart takes the news hard and quits. Scott convinces him not to do that, but Bart decides he does need to go home and right some wrongs before getting back with the band.
Bart comes home to find his father has been reading the bible and is working on becoming a better man. Bart isn't sure if he believes his father's new personality especially after all the physically abuse, but eventually, he learns of his father's grave condition and that he's working on becoming a good Christian and they bond at the end of his life.
Another few months later, Bart's father passes away. After the funeral, Bart heads back out to join MercyMe. While on the tour bus he is struck by inspiration and looks in his journal to find the words "I Can Only Imagine" written on every page. So he says "OK Jesus" and starts writing the lyrics to what will be the song "I Can Only Imagine." He sends the song to Scott who freaks out about it, and he plays it for Amy Grant who loves it and wants to debut it on her new tour and album. Bart says he wants as many people as possible to hear the song and Amy is who will make that happen. So at the concert where she's gonna sing it for the first time, Amy is too moved by the sentiment of the song and can't sing it, so she invites Bart up on stage. He proceeds to sing the song with Shannon in the crowd, and the place goes bonkers for the song. After he sings it, he imagines the theater empty with just his dad there clapping for him. He runs up the aisles after the song and hugs Shannon and tells her he loves her.
We find out in the postscript that the song went triple platinum and that MercyMe has since had 21 hit songs and is one of the biggest Christian bands of all time.