Charlie (Logan Lerman) begins writing letters to an unnamed person he has never met the night before he begins his first year of high school. The lonely teenager desperately wants friends, and he’s decided to spill his innermost secrets to this anonymous person, someone he overheard being discussed in the hallways of his middle school. Charlie thought the person he heard described might be kind enough not to judge him for the mental breakdown he had last year, the one that makes everyone, even his mom and dad (Kate Walsh and Dylan McDermott), nervous around him.
The first day does not go well for Charlie. He eats lunch alone, gets bullied by several of his peers, and is too self-conscious to speak up during his English class, taught by Mr. Anderson (Paul Rudd). Charlie encounters Patrick (Ezra Miller), a senior, in his underclassmen shop class. The shop teacher picks on Patrick, and Charlie is secretly impressed when Patrick stands up to him. When Charlie eats dinner with his family that night, where his older sister Candace (Nina Dobrev) and her boyfriend Derek (Nicholas Braun) are also present, he pretends that he had a good first day. Charlie doesn’t want to worry his family any more than he already has.
Charlie goes solo to a football game. When he sees Patrick is also alone in the bleachers, he goes over and strikes up a conversation. Patrick invites Charlie to sit with him, and Patrick’s stepsister Sam (Emma Watson) soon joins them. The stepsiblings treat Charlie warmly, even inviting him to go to out for a bite to eat with them after the game. They go to a diner, and a group of jocks mock Patrick. Patrick mostly ignores them, which really impresses Charlie. Sam and Charlie find out they love the same indie music. Charlie is deeply drawn to the stepsiblings. When Charlie arrives home later that night, he catches Derek slapping Candace. Although Charlie wants to fight Derek, Candace calms him down and swears him to secrecy; she claims she can handle Derek on her own.
Flashback: Seven-year-old Charlie stands on the steps in his home with Candace and their brother Chris. The front door opens, and a woman steps inside. Charlie’s mom and his siblings greet the woman, Aunt Helen (Melanie Lynskey), warmly, but Charlie just stares at her.
Mr. Anderson recognizes Charlie’s intelligence and talent, and he begins to lend Charlie classic novels that aren’t included in the curriculum. Charlie enjoys his literary conversations with Mr. Anderson, but he’s more interested in finding a way to become closer to Patrick and Sam. His opportunity comes at their homecoming dance. Charlie, who came alone, spots Sam and Patrick dancing up a storm. Although he’s been leaning against the wall for most of the dance, Charlie makes his way towards Patrick and Sam, doing an awkward dance as he goes. When Patrick and Sam see him, they cry out in joy and invite him to dance.
When the dance ends, Patrick and Sam spirit Charlie away to an after-party and introduce him to the rest of their friend: Alice (Erin Wilhelmi) the gothic shoplifter, Mary Elizabeth (Mae Whitman) the punk Buddhist, and Bob (Adam Hagenbuch) the pothead. Charlie recognizes another partygoer, too: Brad (Johnny Simmons), the high school quarterback, his brother Chris’s former teammate and someone so popular that Charlie’s surprised he’d come to the party. Patrick disappears soon after Brad’s arrival, and so does Sam. When Bob offers Charlie a brownie, no one bothers to tell him that the brownie has pot in it. Charlie eats several, and when Sam reappears, she takes care of him. Charlie, still very high, mentions casually that the May before, his best friend committed suicide. Sam realizes Charlie doesn’t have any friends. When Charlie goes to the bathroom that night, he walks in on Patrick and Brad fooling around. Patrick pulls him aside and tells him that it’d be too dangerous for Brad to admit he’s gay his father would beat him so they keep their relationship a secret from almost everyone. When Charlie promises to keep Patrick and Brad’s romance a secret, he wins Patrick’s trust and respect. Sam and Patrick induct them into their circles of friends.
The school year improves drastically for Charlie after he befriends the other “wallflowers.” His sister warns him about Sam’s reputation upperclassmen used to get her drunk and have sex with her and Charlie figures out how much it bothers Patrick to keep his relationship with Brad a secret. Charlie, who has his own dark past, finds that when he’s with his new friends that he feels “infinite.” They have introduced him to a new world of experiences: the Rocky Horror Picture Show, which the wallflowers act in at a local theater, good music, and surfing through the tunnel in the bed of Sam and Patrick’s pickup truck. Charlie slowly falls for Sam, who, to his dismay, is dating a snobby college student named Craig (Reece Thompson). Charlie goes so far as to make a mixed tape for Sam, but when Craig insults the songs on the tapes for being “downers,” Charlie tosses it. Patrick mentions to Charlie that Sam has a history of downplaying her intelligence and making herself “small” to impress the guys she dates. Sam herself seems to actually believe she’s dumb; while Alice has applied to NYU and Mary Elizabeth is certain Harvard will accept her, Sam wants to go to Penn State. When she confesses to Charlie how poorly she did on the SATs, he offers to tutor her, which results in them growing closer.
Shortly before Christmastime, Charlie and his friends gather for a Secret Santa gift exchange. Charlie receives a suit from Patrick, because Patrick thinks the best authors used to wear suits, and one day Charlie will join their ranks. Sam, radiant over her much improved SAT scores, brings Charlie upstairs to give him a gift in secret: since Charlie’s birthday occurs on Christmas Day, she wanted to give him an extra present, a typewriter. She tells him to write about them, the wallflowers, and he promises he will. Sam will not see Craig for a while, and she wonders if Charlie has ever had a girlfriend, he tells her no, he hasn’t even been kissed. Since Sam’s first kiss was from her dad’s boss when she was eleven, she doesn’t think he’s missed out on much. Charlie admits to Sam that his aunt was also molested but went on to be a fantastic person. Touched, Sam tells Charlie she still loves Craig, but she wants his first kiss to be from someone who loves him: her. They kiss.
Flashback: Seven-year-old Charlie and Aunt Helen crouch in front of a row of candles placed at the foot of someone’s drive. Helen tells Charlie she needs to leave and get his birthday present. She kisses him goodbye and whispers in his ear.
Charlie spends the holidays with his family. He decides he will tell Sam he loves her when he sees her on New Year’s Eve. Unfortunately, when he goes to a party at Sam and Patrick’s house, he sees her dancing with Craig. Bob gives him an acid strip, which causes Charlie to hallucinate and intensifies his flashbacks of his Aunt Helen.
Flashback: Aunt Helen cries at the kitchen table in the middle of the night. Seven-year-old Charlie wakes up and comes downstairs to comfort her by placing his hand on hers. THEN: Aunt Helen tells Charlie she needs to leave and get his birthday present. THEN: Aunt Helen’s driving to Charlie’s house, the birthday present on her passenger seat, when a semi truck plows into her car, killing her.
After the winter holidays, Charlie returns to school and continues to receive classic novels from Mr. Anderson. Charlie confesses he doesn’t understand why good people date people who make them feel “small.” “We accept the love we think we deserve,” Mr. Anderson replies. Charlie gets the opportunity to perform as Rocky in The Rocky Horror Picture Show one night, and it boosts his confidence tenfold. After the performance, Mary Elizabeth surprises him by inviting him to attend the Sadie Hawkins dance with her. At the dance, Charlie feels more drawn to Sam alone, because the dance was too juvenile for Craig than to his date. Mary Elizabeth takes Charlie back to her empty home after the dance, and after a quick attempted seduction, she begins kissing him. When they’re done making out, Mary Elizabeth calls Charlie her boyfriend, and Charlie’s too surprised to correct her.
Mary Elizabeth drives Charlie insane. She calls him minutes after they’ve parted and babbles to him for hours, chiding him when he tries to say anything. She puts down his taste in music and the books he likes. Although she’s a nice person and Charlie likes her, he doesn’t feel anything romantic for her, and it’s obvious to him that they make a terrible couple. Their relationship implodes during a dicey game of Truth or Dare. Patrick dares Charlie to kiss the most beautiful girl in the room, obviously intending for him to kiss his “girlfriend” Mary Elizabeth. Without thinking twice, Charlie kisses Sam, who happens to be sitting next to Craig. Both Sam and Mary Elizabeth blow up at him, and, according to Patrick, Charlie has been ousted from their group for the time being. In the weeks that follow, no matter how hard he tries, Charlie cannot convince his friends to forgive him. Their absence in his life causes his flashbacks to become more vivid. He writes in his journal that he is getting “bad” again, like he did the previous spring.
Brad arrives at school one day with a battered face. He tells people some thugs jumped him, but upon seeing Patrick’s heartbroken expression, Charlie knows differently. Brad’s dad caught him with Patrick and beat him for kissing another guy. When Charlie tries to comfort Patrick, Patrick blows him off. Later in the cafeteria, Brad’s jock friends pick on Patrick, going so far as to trip him. Patrick tries to get Brad to stick up for him, but when Patrick calls him a faggot, he attacks Brad. Brad’s teammates restrain Patrick, and they take turns beating them. Another jock prevents Sam from coming to her brother’s aid, so Charlie charges into the fray … And everything goes black. When Charlie comes back to reality, he discovers he's beaten up all of the jocks. Many of his classmates stare at him in horror. Later, while they’re in the principal’s office, Brad thanks Charlie for stopping them.
Charlie’s heroism earns him his friends’s forgiveness. The rest of the year rushes by, and Charlie dreads the day his friends (all seniors) will graduate and leave him. He and Patrick celebrate with Sam when she is accepted into Penn State; he does his best to comfort Patrick when they hang out on the weekends. Patrick still aches over Brad’s abandonment of him, and in his confusion, he kisses Charlie one night. Charlie isn’t offended lets Patrick know he’s not attracted to him. Their friendship endures.
Sam and Craig break up on prom night due to Craig’s serial infidelity. Graduation takes place, and Sam must leave soon after to attend summer school at Penn State. The night before she leaves, Charlie helps her pack, and they discuss why he never asked her out if he so obviously liked her. Charlie only wants Sam to be happy, and Sam tells him that’s no way to live. She and Charlie begin to kiss, and she begins navigating them towards sex. But whenever she touches Charlie’s leg, he tenses.
The next morning Charlie says goodbye to Sam and Patrick. It’s not clear what, if anything, happened between him and Sam the night before. His friends’s departure affects Charlie profoundly, and when he arrives home he is nearing another breakdown.
Flashback: The night before, Sam asks Charlie what is wrong when she strokes his leg. The moment replays in Charlie’s mind, and …THEN: A woman strokes Charlie’s leg. It’s his Aunt Helen. THEN: Aunt Helen, about to leave to fetch Charlie’s birthday gift, whispers to him, “It’ll be our little secret.” THEN: A young Candace sleeps on the floor. Charlie stares at his aunt. She tells him that his sister’s asleep, and no one will know. THEN: A semi truck plows into Candace’s car.
Charlie calls his sister and babbles to her about being responsible for Helen’s death. She was going to get his birthday gift, so it’s his fault. He might have wanted her to die, so it’s his fault. Candace calls the police.
Charlie tells his anonymous friend that he spent the summer in a mental ward at a hospital. He received counseling from a kindly doctor (Joan Cusack), who helped Charlie to cope with his aunt’s molestation of him. Eventually, at the end of the summer, Charlie is released. He feels much better. Patrick and Sam, back for a brief visit, take him to their diner hangout. Sam gives him a mixed tape of new songs. She and Patrick tell Charlie he must come visit them at college, because life gets so much better. They drive off together, and Charlie feels infinite again.
You can send in your spoiler to other movies by going here.