Simon is sitting backstage during a rehearsal for the school play when Martin, a classmate, reveals that he stumbled upon Simon's secret email account. Simon isn't worried about Martin outing him as gay—he's worried about Blue, the boy he's been flirtatiously and anonymously emailing, cutting off contact. Martin suggests that Simon come out and says he's not going to show the screenshots of the emails to anyone, but then suggests that Simon could help Martin win over Abby, one of Simon's best friends. Simon is enraged, but feels as though he has no choice but to agree. After school, Simon walks to his friend Nick's house, where Nick and their friend Leah are playing video games. Simon feels comforted by how normal everything feels with them. He notices that Leah is in love with Nick, who has a crush on Abby. Simon reasons that he should help Martin if only to help his friend group.
Simon and Blue email about how horrible middle school was and how they each discovered they were gay. Simon explains to the reader how he found Blue: Blue posted on creeksecrets, their high school’s anonymous Tumblr account, about being gay and closeted. Simon is preoccupied on his family's "Bachelorette night," when the entire family watches The Bachelorette and then Skypes his sister Alice at college. He notices that his younger sister, Nora, got new piercings in one ear, and he fixates on this. He feels awful when Dad insists that one contestant is clearly gay.
Simon avoids Martin at school for the next few days and says nothing to Abby. Finally, Martin corners Simon. After rehearsal, Simon invites Martin to come to a Halloween party at Garrett's, where Abby will also be. Martin hastily accepts. Later that night, Simon and Blue email about Halloween. Simon used to wear dresses, while Blue used to be a superhero every year.
Simon goes to Garrett's party with Nick, Leah, and Abby. Nick, as usual, finds a guitar, while Simon has a beer and feels weird about it. The next day, Simon and Blue email about their Halloween experiences and about Spirit Week at school the next week. On Friday, Simon and Nick decide to go to the homecoming football game instead of going to Waffle House as usual, which makes Leah extremely angry. Despite this, Simon and Nick have a grand time marching in the parade. Simon sits with the drama club and Cal, the stage manager, for the game. He thinks Cal is extremely cute. Martin joins Simon, angry that Abby rejected his invitation to the dance. When Simon and Blue email later, Blue mentions that he doesn't ride carnival rides because he vomits, and he admits he likes thinking about sex with Simon. Simon is perplexed, given that Blue is usually very reserved and careful. He fantasizes that Blue is Cal.
On Simon's birthday, Leah brings in a sheet cake per tradition, and Simon thinks that she's amazing at celebrating birthdays. At rehearsal that afternoon, Simon tries to test if Cal might be Blue, but Cal doesn't react to any of the inside jokes Simon has with Blue. When Alice comes home a week later for Thanksgiving, Simon realizes how weird things at home have been without her. In class on Monday, Simon smiles at a boy named Bram when he accidentally gets Bram's quiz. When Blue emails a few days later, they talk about Simon's love of the singer Elliott Smith. Blue tells Simon that he's going to celebrate Hanukkah with his dad soon, and he's considering coming out. Simon is shocked that Blue is Jewish. Simon ponders this for days; he considers himself fully nonreligious and hopes Blue is okay with this. At one point, Martin suggests that he'd like to introduce Simon to his brother, who is also gay, which prompts Simon to suggest that he, Martin, and Abby go to Waffle House on Friday to run lines. At Waffle House, Simon finds himself liking Martin and wonders if they might be becoming friends. When Simon and Blue email later, Blue says he chose not to come out after his dad gifted him Casanova's autobiography.
As Abby and Simon drive home from Waffle House a week later, Simon decides to come out to her. Later, Blue emails that he came out to his mom. She was mostly interested in talking about safe sex practices. The boys discuss how they feel like they've started down a path that they can't turn back on. Following this, Simon watches Cal closely but sees no signs that he's Blue. On the first day of Christmas break, Simon is at school for an all-day rehearsal. He makes a point to spend time with Cal, who he notices drawing superheroes. In the afternoon, the cast pushes each other in rolling chairs. Abby puts her arm around Simon when she's done. Not long after, Martin pulls Simon aside and angrily tells him that Abby rejected him.
Blue writes that his dad and mom told him that his stepmom is pregnant. Simon suggests that this admission was the adult version of coming out, and the two discuss that everyone should have to come out in a big, awkward production. Simon suggests in closing that he'd like to meet Blue. Simon feels out of sorts on Christmas Eve, despite his family observing all of their usual traditions. Alice, however, leaves the family scavenger hunt to take a mysterious phone call, and Nick and Leah stop by for a strange and awkward visit. They seem to think something is wrong, but they won't tell Simon what it is. Simon goes upstairs after dinner and Nora soon joins him. She asks him to go to the creeksecrets page and Simon finds a post, supposedly written by him, announcing his sexuality and soliciting sex from interested guys at school. It also makes references to Blue. Simon tells Nora he's gay, and comes out to the rest of his family the next morning. Later, Alice and Simon talk about how their parents make a big deal out of everything, and she admits she has a boyfriend. In an email later, Simon and Blue discuss exchanging phone numbers. Blue isn't excited about it. On New Year's Eve, Simon comes out to Nick and Leah at his party. Leah seems upset when she realizes that Simon came out to Abby first, but Simon refuses to talk to her about anything.
On the first day back to school, a boy grabs Simon and makes kissing noises at him. At rehearsal, two boys sneak in and hold signs making fun of Simon. Martin looks horrified, while Abby, Taylor, and Ms. Albright chase the boys. Ms. Albright vows to get the boys suspended. After rehearsal, Abby and Simon go to watch Nick play soccer for a while. When Simon heads back to his car, he finds Martin there. Martin apologizes and insists he didn't know all of this bullying would happen. Simon angrily says that Martin took something important from Simon and sends him away in tears. Later, when Simon and Blue are emailing, Blue admits he knows who Simon is. Simon thinks he knows who Blue is too, and asks if he's Cal—he’s not. Simon feels horrible. Nick starts to tease Simon about Cal the next day, and when Simon and Blue email later, Blue remarks that things seem to be working out for Simon. Simon asks for things to go back to normal and spends all weekend feeling as though Blue is no longer interested. He also realizes he doesn't know much about his friends. On Monday, he discovers that Blue left him an Elliott Smith shirt in his locker.
With two weeks to go until Oliver opens, the cast takes a day to perform for the whole school. Abby does Simon's makeup and answers Simon's questions about her dad, who lives in Washington, D.C. rather than Georgia. Before the second performance, Ms. Albright pulls Simon aside and says that she's going to speak to the audience—someone vandalized the cast list with homophobic slurs. That afternoon, Simon starts to wonder if Blue might be Martin, but thinks it doesn't make much sense. Abby grabs Simon and insists that she and Nick are going to take him into Atlanta. They decide not to invite Leah. Abby drives them to a gay bar, where Simon meets a college boy named Peter. Simon accepts Peter's offered drinks and tells Peter all about Martin, which clues Peter into the fact that Simon is only seventeen. When Abby and Nick try to take a very drunk Simon back to Abby's house, Simon insists they need to go back to Shady Creek to get his Elliott Smith tee shirt. Abby agrees, but Simon's parents discover that he's drunk and cut the night short. Emboldened by the alcohol, Simon calls his dad out for making jokes about gay people. Mom and Dad take Simon's phone and computer away.
On Monday, Simon is amused to discover that Abby and Nick began a relationship over the weekend. Leah, however, is distraught that they didn't invite her to the gay bar, and she refuses to talk to Simon. Later that night, Mom and Dad chat with Simon about what happened. Simon admits that he's embarrassed that his parents make a big deal out of every tiny change he goes through, and they agree to try to do better in the future. Dad also apologizes for making jokes about gay people and gives Simon his computer back.
On the play’s opening night, Abby confronts Simon about his arrangement with Martin: she's upset that he tried to manipulate her into liking him. When Simon later reads back through Blue's emails, he feels like he's falling in love all over again. The next morning, Simon writes Blue that he feels as though he knows him on the inside and wants to meet him. He asks Blue to meet him at the carnival at 6:30.
After the Sunday matinee performance, Simon drives home to put on his Elliott Smith shirt before going to the carnival. He discovers that Blue taped his phone number into the shirt, though he decides not to call. Simon goes on carnival rides and makes up with Abby. Finally, Simon rides the Tilt-A-Whirl, reasoning that Blue wouldn't ride it. Bram steps into the cart with Simon and apologizes for being late. When they step out of the ride a few minutes later, Simon apologizes for not figuring out that Bram was Blue. Simon is especially upset that he never considered that Bram might be black. The two flirt the next day at school and sneak off campus for lunch. They make out in Bram's car and decide to make their relationship official on Facebook later that night. A few days later, Simon is finally able to talk to Leah, who admits that she felt as though Simon was abandoning her for Abby. Simon assures her that she's his best friend, and they both cry.
At the school talent show a few days later, Simon is shocked to discover that Leah, Nora, and Taylor are in a rock band together, though he understands why Nora kept it a secret. Nick managed to get the entire Spier family, including Alice, to the show. After the show, Alice sends her boyfriend, Theo, with a message for Simon: refuse Mom and Dad's offer of dinner out so Simon and Bram can have a few hours unsupervised at home. The plan works perfectly, and they're settled and working on homework by the time Mom and Dad get back.