- Logan Lerman as Charlie Kelmeckis
- Emma Watson as Sam
- Ezra Miller as Patrick
- Mae Whitman as Mary Elizabeth
- Paul Rudd as Mr. Anderson, Charlie's English teacher
- Nina Dobrev as Candace Kelmeckis, Charlie's sister
- Johnny Simmons as Brad
- Erin Wilhelmi as Alice
- Adam Hagenbuch as Bob
- Kate Walsh as Mrs. Kelmeckis
- Dylan McDermott as Mr. Kelmeckis
- Melanie Lynskey as Aunt Helen
- Joan Cusack as Dr. Burton
- Zane Holtz as Chris Kelmeckis, Charlie's older brother
- Reece Thompson as Craig, Sam's college boyfriend
- Nicholas Braun as Ponytail Derek, Candace's boyfriend
- Landon Pigg as Peter
- Tom Savini as Mr. Callahan
- Julia Garner as Susan
The Perks of Being a Wallflower is a youth film about a teenager with a undiagnosed mental illness, asking himself about life and finding answers in being with his kind.
Charlie (Logan Lerman) is uneasy about beginning his freshman year of high school; he is shy and finds difficulty in making friends, but he connects with his English teacher, Mr. Anderson (Paul Rudd).
Charlie sits with two seniors, Sam (Emma Watson) and her stepbrother Patrick (Ezra Miller), at a football game, and they invite him to tag along to several social activities with them. At a party Charlie unwittingly eats a cannabis brownie, gets high and discloses to Sam that the year before his best friend committed suicide. He also walks in on Patrick and Brad (Johnny Simmons), a popular athlete, kissing. Sam realizes that Charlie has no other friends so she and Patrick make a special effort to bring Charlie into their group. Sam needs to improve her SAT scores to be accepted to Pennsylvania State University, so Charlie offers to tutor her. On the way home from the party, the three hear a song they are unfamiliar with ("Heroes" by David Bowie), and Sam instructs Patrick to drive through a tunnel so she can stand up in the back of the pickup while the music blasts.
At Christmas, Sam gives Charlie a vintage typewriter to help his aspirations of being a writer. The two discuss relationships, and Charlie reveals he has never been kissed. Sam, though already involved with someone else, tells Charlie she wants his first kiss to be from someone who loves him, and kisses him. Charlie, in love with Sam, begins to try to find ways to show her how he feels.
At a regular Rocky Horror Picture Show performance, Charlie is asked to fill in for Sam's boyfriend Craig, who is unavailable. Their friend Mary Elizabeth (Mae Whitman) is impressed and asks Charlie to the Sadie Hawkins dance. Charlie goes along with the resulting relationship to avoid hurting Mary Elizabeth's feelings, but grows more and more irritated by the situation. Finally, at a party, when Charlie is dared to kiss the most beautiful girl in the room, he chooses Sam, upsetting both her and Mary Elizabeth. Patrick recommends Charlie stay away from the group for a while, and the isolation causes him to sink back into depression. He experiences flashbacks of his Aunt Helen (Melanie Lynskey), who died in a car accident when he was seven years old.
Brad shows up to school with a black eye after being caught by his father having sex with Patrick, but he lies that he was jumped and beaten up. Brad distances himself from Patrick, calling him a "faggot", leading Patrick to out him. Brad's friends begin beating Patrick when Charlie forcefully intervenes, but then blacks out. He recovers to find he has bruised knuckles and Brad's friends are on the floor, incapacitated. Charlie threatens, "Touch my friends again, and I'll blind you," then leaves. Sam and Patrick express their gratitude to Charlie, and the three become friends again.
Sam is accepted into Penn State, and breaks up with Craig on prom night after learning he has been cheating on her. The night before she departs, she brings Charlie to her room and asks him "Why do I and everyone I love pick people who treat us like we're nothing?" to which he repeats advice he received from Mr. Anderson, "We accept the love we think we deserve". They confide in each other and kiss, but when Sam touches Charlie's thigh, he experiences a momentary flashback of his Aunt Helen, which he passes off as nothing, and they continue to kiss. After she leaves for college, though, his emotional state deteriorates and his flashbacks worsen. He calls his sister blaming himself for Helen's death, and admits he may have wished it upon her. His sister realizes he is in trouble and calls the police. Charlie passes out as they burst through the door and wakes up in a hospital, where psychiatrist Dr. Burton (Joan Cusack) manages to bring out Charlie's repressed memories of his aunt sexually abusing him.
With therapy, Charlie recovers and returns home. Sam and Patrick visit him. She explains how she is finding college life and reveals that she has identified the song from the tunnel. They drive through the tunnel again, with Charlie in the back of the pickup this time. He kisses Sam, and acknowledges that he feels alive in that moment and declares "We are infinite."