Adam Petrizelli is a high school senior whose father left him and his mother Beth. Beth now dates Paul, whom Adam dislikes. He makes plans to go to culinary school in the fall.
In school, Adam sees a hippie girl, Rebecca in the hallways, and he appears to be the only one who sees her. He goes to chemistry class where he begins to hear voices, see what looks like a black cloud surrounding the class, and Rebecca speaking to him. Everything in the room appears to him as though it is floating, and Rebecca tells him they need to go. In the chaos, Adam accidentally knocks over a vial of acidic chemical that burns his partner’s arm. He falls to the ground and experiences an apparent psychotic break, while the school security guard has to hold him down.
Adam is diagnosed with schizophrenia and is expelled from school. He enters a medical trial to treat his condition, but he continues to hear voices—most notably a deep threatening voice—and has three frequent visions: Rebecca, who acts as the positive voice; Joaquin, the best friend; and “The Bodyguard”, a man in a jumpsuit who appears whenever Adam is feeling threatened. Paul has also hidden the knives in the house for safety.
Beth and Paul take Adam to transfer to St. Agatha’s Catholic School. They meet Sister Catherine for an interview, which Adam sees as the whole room being on fire. Adam is accepted to the school, but his condition is not made known immediately. After the interview, Adam goes to the bathroom. He finds the school’s valedictorian, Maya Arnaz, making a secret transaction with another student, Ted, as she has been tutoring him in secret. They see Adam, and Rebecca and Joaquin appear to comment on Maya as she approaches Adam. She just tells Adam not to say anything about what he saw, and he agrees.
Maya later approaches him again, and the visions can see that he is attracted to her. She explains that she helps the other students as a side hustle, keeping it secret from the staff. After she leaves, Adam takes his meds to keep the visions from continuing to pester him.
With his grades already failing into his second week of school, Adam seeks Maya out for tutoring help. She even meets Beth and Paul to make it legitimate, and they agree to pay her to help Adam. He takes Maya to see his room where they exchange banter and she samples some of his cooking before they get to work in studying. Beth later drives her home.
Adam’s grades improve, and as he continues to take the pills, he keeps the visions at bay. He even gets back to cooking, which makes Beth happy. He also visits Father Perez at the school for confession, even though he doesn’t consider himself a religious person. One morning, Adam wakes up to peace and quiet, thinking things are turning around for the better. To celebrate his improvement, he invites Maya to hang out, which she accepts. While they are out, one of the bullies from Adam’s old school recognizes him with his friends. When the bully mocks Adam and tries to touch Maya, she slaps him hard across the face before he and the others just leave. When Maya asks Adam what that was about, he only tells her that he got expelled from his last school over a fight.
Adam tries to hang out with her again and later goes to try and find her at her house and comes to a poorer neighborhood where he meets her father and two younger brothers. Adam cooks them dinner, but when Maya comes home, she thinks he’s doing it out of charity and lashes out at him. After he apologizes, Maya tells him how she got caught and is worried about making extra money. He promises to help keep her as his tutor and still get paid.
Maya brings Adam to a big kitchen to test out his cooking. His food proves too spicy for Maya, but when he tries it, he thinks it’s fine. It turns out that a side effect of the pill affects his taste, as well as a number of other unpleasant things. This prompts Adam to start throwing away the pills into the front yard as Beth thinks he is still taking them. Making things harder is that Beth and Paul announce that they are having a baby. Adam hears the deep voice express insecurity over a new kid that might be more normal, as well as seeing his mom appear as a distorted image. This also makes the visions come back to annoy him. It almost causes him to have another psychotic break at school, but he walks out even as Maya follows and tries to find out what’s wrong.
Adam takes Maya to an outdoor screening of her favorite movie, Never Been Kissed. Towards the end, Rebecca and Joaquin try to encourage Adam to make his move, but the deep voice starts to prey on his insecurity. He inadvertently grabs Maya’s hand, but she wants to know what is going on with him. He admits to having insecurity over his mom having another kid with Paul, but after he apologizes, he asks Maya to prom, even though she’s against the idea of it. She accepts, and they have their first kiss. His work gets so much better that he writes an essay that is accepted to be read at graduation.
Adam finds Paul writing an email and finds it suspicious. When he gets to school, Sister Catherine tells him that they learned about his condition and the incident at his last school, and instead of expulsion, they are just suspending him temporarily. Adam thinks Paul sent them this in the email and he lashes out at him. The suspension also means he can’t go to prom, but he defies everyone’s orders and goes anyway. He picks Maya up and is amazed by how she looks, but even as they dance and try to have a good time, Adam is plagued by the deep voice, as well as Sister Catherine finding him and trying to kick him out. As things start to blur around him, Adam pushes the nun to the ground and runs away. He runs to the top bleachers and falls over the ledge when he sees the black cloud surrounding him.
Adam is taken to the hospital and wakes up to see Beth and Paul. Maya soon shows up, but Adam becomes too overwhelmed by the presence of the visions, so he starts to yell at Rebecca and The Bodyguard to go away, then starts yelling at everyone to leave as he breaks down. He is later expelled from St. Agatha’s and placed in a psych ward. Father Perez visits him despite an earlier encounter where Adam was rude to him when he tried to offer advice. After Father Perez says that he was not aware of what Adam was struggling with, Adam apologizes for his behavior and agrees to join Father Perez in prayer.
Beth visits Adam in the hospital and gives him a printed copy of the email that Paul sent to St. Agatha’s. Contrary to what Adam thought, Paul was expressing his support for his stepson and thought suspending him was cruel, saying that they must show more care for Adam’s condition. Realizing how much Paul cares about him, Adam runs to catch up with him and Beth, and he hugs Paul for the first time, making it clear that he will be better at accepting him as a new father figure.
On graduation day, Beth and Paul take Adam to the ceremony, where, despite Sister Catherine’s attempt to speak up, Father Perez shows support for Adam. The deep-voiced black cloud tries to get Adam, but he gathers the courage to address the student body calmly. He recites his essay in which he discusses both his condition and battle with schizophrenia, declaring that he now knows that his life will not be defined by his illness. After he leaves the auditorium, Maya runs to catch up with him. Adam apologizes to Maya for not telling her the truth about his illness from the beginning, at which point they express their love for each other. Joaquin then encourages Adam to kiss Maya, and he finally does.
Adam gets accepted to the culinary school he wanted to go to and becomes a good big brother to Beth’s and Paul’s child. Paul also shows more dedication to Adam, even seeming to notice when Adam is hearing the voices in the closet.