Writing a letter to an anonymous “Friend,” Charlie confesses that he needs someone to talk to. His best friend Michael committed suicide at the end of the previous school year, and Charlie feels lonely and afraid starting high school without any friends. Thinking about the reasons behind Michael’s suicide, Charlie wonders if Michael had “problems at home,” and then wonders if he, too, has problems at home. Charlie then describes his family and explains that his Aunt Helen was his favorite person, and she came to live with his family before she died.
In the first few weeks of school, Charlie gets into a fight when a bully starts hitting him. He explains that his brother taught him how to fight, so he ended up hurting the bully pretty badly and immediately started crying afterwards. He admits that he’s pretty emotional. He feels isolated at school, but one day in his Advanced English class, Charlie’s teacher asks Charlie to call him “Bill” outside of class, praises his literary abilities, and gives him extra books to read. Charlie’s sister is a senior at his school, and he feels bad for the boys who like her, claiming that she’s mean to them. His sister receives mix tapes from one boy in particular, but she gives them to Charlie, and he loves the music. One night, when Charlie’s sister criticizes her boyfriend for not standing up for himself, he hits her in front of Charlie. She continues seeing this boy and makes Charlie promise not to tell anyone about the abuse. During class the next week, Charlie ends up telling Bill about Charlie’s sister’s boyfriend hitting her, and Bill calls Charlie’s parents to inform them.
At a football game, Charlie befriends Patrick (whose nickname is “Nothing”) and Sam, two seniors who invite him to Big Boy with them. Charlie assumes that Patrick and Sam are a couple, but they explain that they’re stepsiblings, and Charlie admits to developing a crush on Sam. After the homecoming dance, Charlie rides with Patrick and Sam to a party, and as he sits between them listening to music on the radio, Charlie says that he feels “infinite.” Charlie is warmly welcomed at the party where he eats a cannabis brownie for the first time. After using the bathroom, Charlie accidentally walks in on Patrick and the football quarterback, Brad, kissing, and Patrick asks Charlie to keep this secret because Brad is afraid of people finding out. Later in the evening, Patrick appreciatively calls Charlie a wallflower, and everyone at the party toasts to him. After the party, Patrick, Sam, and Charlie drive through the tunnel towards downtown listing to music. Sam stands in the back of the truck flying through the tunnel with the wind in her dress.
Charlie continues making progress on his extra reading assignments for Bill and decides he wants to be a writer when he grows up. He starts writing for a fanzine called Punk Rocky (inspired by The Rocky Horror Picture Show) that his friend Mary Elizabeth runs. Charlie’s friends perform alongside the regular screenings of the film. When Sam starts dating an older guy named Craig who plays Rocky in the show, Charlie realizes that he is in love with her. As the holidays approach, Charlie and his friends participate in a Secret Santa exchange. Charlie draws Patrick’s name and makes him a mix tape with carefully-selected music for his first gift. His last gift to Patrick, presented at their Christmas party, is a poem that he reads aloud to the group. Patrick reveals himself as Charlie’s Secret Santa and gives Charlie a complete suit because “all the great writers” have suits. Charlie presents everyone at the party with a carefully chosen gift, the most special of which is a record with the song “Something” by the Beatles that he gives to Sam. It was a gift from his Aunt Helen. Later that evening, Sam kisses Charlie because she wants his first kiss to be from someone who loves him.
On the ride home from his family’s Christmas party, Charlie’s family visits Aunt Helen’s grave and Charlie thinks about her experiences. He writes that she was molested as a child and had drinking and drug problems as an adult, as well as a string of abusive relationships. She was the only one outside of his immediate family to buy him both a birthday and a Christmas present (since his birthday is Christmas Eve), and she died in a car accident while driving to get Charlie’s gift. Charlie feels responsible for his aunt’s death, and as he thinks about her, his mental health declines.
During his friends’ New Year’s Eve party, Charlie takes LSD and falls asleep outside in the snow where policemen find him and bring him to the hospital. He has a history of wandering off when his mental health worsens, and his family worries. Several days later, Charlie is still experiencing some hallucinations from the LSD and he worries that they’ll never stop. Sam gives him a cigarette to calm his nerves, and Charlie starts smoking more regularly.
One evening, when Craig doesn’t show up to a Rocky Horror Picture Show performance, Charlie agrees to play Rocky. He and Sam (playing Janet) playfully touch each other to Charlie’s delight, and everyone applauds him at the end of the show. Afterwards, Mary Elizabeth asks Charlie to the Sadie Hawkins dance. He writes about his experience at the dance with Mary Elizabeth: she did all of the talking. After the dance, Charlie finds his sister crying in the basement. She tells him that she’s pregnant, and her boyfriend dumped her at the dance when she told him. Charlie promises to keep that secret forever and drive her to the clinic next Saturday.
When Charlie’s sister comes out of the clinic, she scolds him for smoking, which makes him laugh, and he makes her comfortable in the back seat. After they return home, they tell their parents that they went to McDonald’s and a movie. Charlie and his sister agree to keep her abortion a secret, and she tells him she really does love him.
After Charlie’s parents find out he’s dating Mary Elizabeth, Charlie’s dad has a conversation with him about safe sex and consent. Charlie goes on another date with Mary Elizabeth to see a foreign film and then back to her house to listen to music. They end up kissing and Mary Elizabeth lets Charlie remove her bra and touch her. As their relationship continues, however, Charlie starts feeling more resentful of Mary Elizabeth. After Rocky Horror Picture Show, Charlie and his friends go to an apartment to play truth or dare, and Patrick dares Charlie to “kiss the prettiest girl in the room on the lips.” Charlie kisses Sam instead of Mary Elizabeth. This makes both Sam and Mary Elizabeth angry, and Patrick drives Charlie home. Patrick advises Charlie to stay clear of their friends for a while. The separation from his friends makes Charlie feel extremely lonely, and he begins smoking pot regularly.
Without his friends, he spends time people-watching at the mall and getting high. When buying another stash of weed, Charlie hears about Brad’s dad catching Brad with Patrick. Brad’s dad beat him so badly that he didn’t come to school for a week. When Brad returns to school, he ignores Patrick for most of the week until Patrick finally confronts him during lunch. Brad calls Patrick a faggot, and they get into a fistfight. Brad’s football friends team up on Patrick, and Charlie steps in to protect him and ends the fight.
On Friday night, Charlie goes to Rocky Horror Picture Show to reunite with his friends. Patrick quits playing Frank ‘N Furter and watches the show with Charlie. They begin spending a lot of time together, and Patrick smokes heavily and takes large amounts of caffeine. When Patrick drops off Charlie at home after a night of drinking in the park, he thanks him for defending him in the cafeteria and then kisses him. Patrick apologizes but Charlie tells him that it’s okay and lets Patrick kiss him again.
During the last weeks of school, Charlie works hard to maintain his good grades, despite spending long nights going out with Patrick. At their last Rocky Horror Picture Show performance before graduation, Patrick decides to play Frank ‘N Furter one last time, and Charlie thinks it’s his best performance ever. Charlie’s friends go to prom while he stays home thinking about what a great time they must be having. When he goes to see them the day after, Sam breaks up with Craig because she found out that he had been cheating on her the entire time. The next day, Charlie has lunch at Bill’s house with Bill and his girlfriend, and Bill tells Charlie that he is one of the most gifted people he’s ever met and that Charlie can always to count on him as a friend.
For graduation, Charlie gives all of his friends gifts, the most special of which are for Sam and Patrick. To them, he gives his copies of the books that Bill had him read throughout the year with a note telling them both that they are his two favorite people. At the last party with his friends before they leave for the summer, Sam asks Charlie why he didn’t ask her out after she broke up with Craig, and she explains to Charlie that he can’t just put other people’s lives before his. She says that doing nothing doesn’t count as love, and that letting Patrick kiss him wasn’t being honest with him. Charlie kisses Sam, who returns the kiss and eventually slides her hand under his pants to touch him. Charlie stops her and starts feeling terrible and overwhelmed. Unable to drive home, he falls asleep on her couch. That night he has a dream that his Aunt Helen touched him the way Sam did.
After Sam leaves for college, Charlie’s mental health spirals downward, and he wonders whether what he dreamed about Aunt Helen is true. Charlie’s family finds him naked, unresponsive, and looking at a blank television, and he spends two months in the hospital. While in the hospital, Charlie realizes that Aunt Helen molested him as a child every Saturday while they watched TV. When his siblings visit him, they talk about Aunt Helen and Charlie realizes that there’s no point in blaming her for what she did to him because he would then have to blame the people who abused her, and so on. He writes that thinking that way “wasn’t going anywhere” and “wasn’t the point.”
When Charlie gets released from the hospital Sam and Patrick pick him up and drive him through the tunnel. Patrick turns up the radio, and Charlie stands in the back of the truck with the wind in his face. He thinks about how he still loves his Aunt Helen for buying him to presents, and how much he wants the people around him to be happy. He writes that this will be his last letter because the new school year is starting, and he plans to be too busy with “participating” to write letters anymore. He closes his last letter by assuring the reader that things are good with him.