In 2007, Oliver Marks sits handcuffed to a table. Detective Joseph Colborne enters the room and congratulates him the success of his recent parole hearing. Colborne asks Oliver one more time to tell him the truth about what happened 10 years ago, and Oliver ultimately agrees to tell Colborne the full story.
In September of 1997, seven fourth-year theater students sit inside the library of their dormitory, the “Castle,” at Dellecher Classical Conservatory. They’re choosing and studying their monologues for Julius Caesar auditions the following morning. Alexander complains that the auditions are pointless, since they all always play the same parts in every play. When the others press him, he predicts how Julius Caesar will be cast: Richard as Caesar, James as Brutus, Alexander as Cassius, Wren as Portia, Meredith as Calpurnia, Filippa playing a male part, and Oliver as Octavius. Inwardly, Oliver laments that he always seems to get stuck with the bit parts and supporting characters, both on stage and in real life. One by one, the students go off to bed. In their room at the top of the Castle, James comforts Oliver and tells him he’ll get his chance to play a tragic hero.
Oliver’s friends have survived three years together at Dellecher, a competitive school that dismisses students at the end of every spring. Oliver thinks he and his friends have made it so far because most of them fit into obvious typecasts: Richard plays tyrants, James plays heroes, Alexander plays villains, Wren plays ingenues, and Meredith plays temptresses. Filippa and Oliver tend to play leftover roles; Filippa often ends up in drag, and Oliver is cast as James’s sidekick. But he doesn’t mind—like everybody else, he loves James. When the cast list comes out, it’s almost exactly what Alexander predicted.
Classes begin. The drama students receive Macbeth role assignments, which they are each to prepare in secret for the annual Halloween party. Shockingly, Oliver gets Banquo, and as they all look at each other, Richard gets up and leaves. On Halloween, the students perform their scenes from Macbeth, revealing their roles to one another for the first time. James and Oliver enter together as Macbeth and Banquo, while Richard has a comparatively small part—he plays a disembodied voice with a handful of lines. At the party afterward, the students start having chicken fights in the lake. A brooding Richard tries to stop the game and starts to lash out at everybody, snapping at James in particular. When he turns to Oliver, James gets in between them, and Richard attacks him, shoving James’s head under the water and holding him down while he struggles. The whole group finally manages to pry Richard away as James coughs up water and sags on the shore. After the others leave, Oliver and James stay on the beach and watch the stars quietly.
Back in 2007, Filippa picks up Oliver from prison and drives him to the Dellecher campus. Colborne is waiting for them there, and Oliver sits down with him to begin telling his story.
In 1997, the opening night of Julius Caesar approaches. During a promotional photoshoot, Oliver notices that Richard and Meredith appear tense, and James and Wren appear comfortable together. In rehearsals, James admits to a furious Oliver that Richard has been intentionally leaving bruises on his arms during their scenes together. Later, Richard deviates from the blocking in a fight scene with Meredith, throwing her into the stairs. Meredith finds Oliver in his dressing room and kisses him, telling him she needs a distraction. Oliver, thinking of Richard, refuses. The next morning, James warns Oliver away from Meredith, telling him that she propositioned him in their freshman year.
Richard grows increasingly violent onstage. At the cast party, Oliver learns that Meredith and Richard are taking a break from their relationship. Richard punches a cellist that Meredith flirted with earlier in the evening and insults Meredith. Meredith runs away, and Oliver decides to follow her. Finding her in the stairwell, he kisses her, and they go up to her room to have sex while Richard rages outside. Oliver wakes up in Meredith’s bed later that night and goes to the bathroom, where he finds James crouching by the toilet with the shower running. After Oliver mentions to him that he doesn’t think of Meredith as a casual fling, the two boys stare at each other. Oliver goes back to bed. About an hour later, Filippa knocks on Meredith’s door and brings her and Oliver down to the dock with the rest of the group. Richard’s body floats in the lake, appearing dead—until he stirs. Although James is reluctant, the group ultimately decides not to take any action to save Richard’s life and to say as little as possible to the police.
That morning, Colborne arrives to question the students. Oliver gives him a vague outline of the evening’s events but leaves out Richard’s previous violent behavior. Afterward, Meredith asks Oliver to sleep in her bed with her, and he comforts her while she cries. On the morning of Richard’s memorial service, Oliver encounters Filippa by the lit fireplace in the Castle. James chastises Oliver for sleeping next to Meredith the other night, telling him that it would look bad if the police found out.
The group leaves campus for Thanksgiving break. At the dinner table, Oliver’s parents tell him that they can’t pay for his schooling anymore, and a frustrated Oliver considers going to New York to visit Meredith. But that night, James appears at his door, preventing him from going. The two boys spend the rest of the break together at Oliver’s house.
Oliver enrolls in a janitorial work-study program to pay for his spring semester of tuition. While cleaning the Castle, he overhears Colborne and Ned Walton talking and learns that Colborne is still suspicious of the fourth-years. When Oliver sees Meredith, he apologizes for not coming to see her over the break because of James and asks if they’re still having sex together. She asks him drily if he’d rather sleep with her or with James, and Oliver doesn’t answer. The fourth-year students receive roles from Romeo and Juliet for the annual Christmas masque, which they are to keep secret again. Oliver gets Benvolio. Meredith agrees to go on a date with Oliver, but everyone seems to be looking at them together and whispering with disapproval.
Just before the Christmas masque, Oliver happens upon Alexander snorting a line of cocaine. He’s angry, but Alexander assures him that it’s just a quick fix. The scenes begin, and Oliver is unsurprised to see that James has been cast as Romeo. James and Wren act out Romeo and Juliet’s first meeting, and as they kiss, Oliver realizes that James is in love with her—and that he’s desperately jealous.
Back in 2007, Oliver and Colborne talk by the lake. Oliver admits that he blames Shakespeare for the horrible things he and his friends did, citing the power of poetry to justify any action and intensify any feeling. He continues his story reluctantly.
Oliver and Meredith spend the 1997 Christmas break roaming New York City together, envisioning their futures. Back at Dellecher, the students audition for King Lear, the spring show. To Oliver’s shock, the boys’ typical typecasts are upended: this time, James plays the villain (Edmund), Alexander plays the fool/sidekick (Fool), and Oliver plays the hero (Edgar). In February, Oliver finds a bloodstained piece of fabric in the fireplace of the Castle. Oliver dashes to the FAB and hides the fabric in a locker in the undercroft. At combat rehearsal that day, James and Oliver are supposed to practice Edmund’s death scene, but James suddenly goes off script and strikes Oliver hard in the face with his sword. Later in the term, Alexander overdoses. During class, Gwendolyn scrutinizes Meredith and James, telling them that they mask their mutual attraction with distaste. They kiss violently at the end of a heated scene run-through. Oliver flees the room.
In 2007 again, Colborne asks Oliver about the nature of his relationship with James. Oliver thinks about how they loved each other in a way that transcended gender itself.
With the 1997 run of King Lear underway, Oliver alternates nights in James’s room and Meredith’s. At the cast party, Oliver finds Meredith crying in the garden, but she waves him away. In the library, James is standing by the window, bottle in hand. Oliver tries to talk to him, but James will only speak in Edmund’s lines. He follows an increasingly upset James downstairs, but James keeps pushing him away. In the garden, James finds Wren and takes her upstairs to have sex as Oliver looks on in mute nausea.
The next day, Oliver finds a bloody old boathook inside of James’s mattress while cleaning. He runs to the FAB and hides the boathook with the bloodstained fabric in the fireplace. During the show that night, Oliver corners James offstage. James admits that he followed Richard into the forest on the night of the Julius Caesar cast party and hit him with the boathook after Richard attacked him, called him “queer” for Oliver, and shoved him to the end of the dock. When he returned to the Castle, Filippa found him and burned his bloody clothes in the fireplace while he showered and vomited upstairs, where Oliver encountered him. While he and James are later onstage for Edmund’s death scene, Oliver notices Meredith whispering in Colborne’s ear. As James acts out Edmund’s death, he stares at Oliver and then kisses him under the set full of stars. When they walk offstage, Colborne asks James if he’s ready to confess—but before he can answer, Oliver interrupts and confesses in his place.
James begs Oliver to let him take the blame back, but Oliver refuses and keeps refusing until James stops visiting him in prison in 2003. Sentenced to 10 years in prison, Oliver refuses to tell Colborne the full story—until now, in 2007. In the present, Oliver admits to Colborne and Filippa that he’s excited to see James at last, but Filippa gently breaks the news that James actually drowned himself back in 2003. The guilt, she says, crushed him. Filippa, who’s now a Dellecher professor and married to Camilo, drives Oliver to the train station, where he catches a train to New York and reunites with Meredith. The two settle into a comfortable life together—until Oliver gets a letter that James left for him. It contains scrambled lines from Pericles, Prince of Tyre that remind Oliver of a day he and James once shared at a beach in Del Norte. Clinging to hope, he starts to research James’s death and learns that his body was never recovered.