The story begins with a quiet, sensitive, 15-year-old boy named Charlie writing letters about his life to an unknown recipient. Charlie chooses that person because he said that he heard he was nice and thought that this person would not be judgmental. He discusses his first year at high school, grappling with two traumatic experiences from his past: the suicide of his only middle-school friend, Michael, a year before, and the death of his favorite aunt, Helen, during his early childhood.
His English teacher, Mr. Anderson, notices Charlie's passion for reading and writing, and acts as a mentor by assigning him extracurricular books and reports. Although he is a wallflower, Charlie is befriended by two seniors: Patrick and Sam. Patrick is secretly dating Brad, a closeted football player, and Sam is Patrick's stepsister. Charlie quickly develops a crush on Sam and subsequently admits his feelings to her. It is revealed that Sam was sexually abused as a child, and she kisses Charlie to ensure that his first kiss is from someone who truly loves him.
In parallel, Charlie witnesses his sister's boyfriend hit her across the face, but she forbids him from telling their parents. He eventually mentions the occurrence to Bill, who tells Charlie's parents about it. Charlie's relationship with his sister rapidly deteriorates and she continues to see her boyfriend against her parents' wishes. Eventually, he discovers that his sister is pregnant and agrees to bring her to an abortion clinic without telling anyone. His sister breaks up with her boyfriend, after which her and Charlie's relationship begins to improve significantly.
Charlie is accepted by Sam and Patrick's group of friends and begins experimenting with tobacco, alcohol and other drugs. As Charlie engages with his new friends he can control his flashbacks of Aunt Helen, who died in a car crash on her way to buy him a birthday gift. Eventually, Mary Elizabeth, a member of the group, invites Charlie to the school's Sadie Hawkins dance and the two enter into a desultory relationship. During a game of Truth or Dare, when dared to kiss the prettiest girl in the room he kisses Sam; Mary Elizabeth storms out, the rest of the group shuns him and Patrick suggests that Charlie stay away from Sam for a while. His flashbacks return.
Patrick and Brad's relationship is discovered by Brad's abusive father, and Brad disappears from school for a few days. Upon returning, Brad is cold and incommunicative towards Patrick, while Patrick attempts to reconnect with him. However, when Brad derogatorily attacks Patrick's sexuality in public, Patrick physically attacks Brad until other football players join in and gang up on Patrick. Charlie breaks up the fight, regaining the respect of Sam and her friends. Patrick begins spending much of his time with Charlie and kisses Charlie impulsively and then apologizes, but Charlie understands that he is recovering from his romance with Brad. Soon Patrick sees Brad engaging with a stranger in the park and Patrick is able to move on from the relationship.
As the school year ends, Charlie is anxious about losing his older friends—especially Sam, who is leaving for a summer college-preparatory program and has learned that her boyfriend cheated on her. When Charlie helps her pack, they talk about his feelings for her; she is angry that he never acted on them. They begin to engage sexually, but Charlie suddenly grows inexplicably uncomfortable and stops Sam. Charlie begins to realize that his sexual contact with Sam has stirred up repressed memories of having been molested by his aunt Helen as a child.
In an epilogue, Charlie is discovered by his parents in a catatonic state and does not show any movement despite being hit reluctantly by his father. After being admitted to a mental hospital, it emerges that Helen sexually abused him when he was young, and his love for her (and empathy for her troubled youth) caused him to repress his traumatic memories. This psychological damage explains his flashbacks and derealization phases throughout the book. In two months Charlie is released, and Sam and Patrick visit him. In the epilogue, Sam, Patrick and Charlie go through the tunnel again and Charlie stands up and exclaims that he felt infinite. He comes to terms with his past: "Even if we don't have the power to choose where we come from, we can still choose where we go from there". Charlie decides to "participate" in life, and his letter-writing ends.