While watching a high school softball game, yearbook editor Anne falls for the team star Sasha. She confesses her realization to her best friend Clifton, who reacts badly due to his own feelings for Anne. He kisses Anne, and, after she initially pushes him away, he rapes her, not stopping as she cries through the encounter. She eventually pushes him away and tearfully expresses that her current crush is not a boy, as Clifton had assumed, but a girl. Clifton calls her a dyke and accuses her of leading him on.
Under the guise of yearbook interviews, Anne visits Sasha and the two begin to strike up a friendship. Their relationship grows over the upcoming weeks through their texting, culminating in Anne comforting Sasha after the latter causes her team to lose their big game.
Clifton continues to lash out at Anne in jealousy. When Anne discovers he broke her bike lock and caused it to be stolen, she attacks him during their yearbook class, causing her to receive disciplinary action from the school. Clifton remains engaged in his plan to sabotage Anne, ultimately asking out Sasha himself. However, he begins to regret his actions during a meeting with his guidance counselor, in which he slowly comes to realize that he raped Anne.
After being reprimanded by the school and arguing with her mother, Anne goes on a hangout with Sasha and convinces her to let her sleep over at Sasha's house. That same night, the two sneak out to a bar and flirt with some men, but end up dancing with each other and kissing. Sasha is confused following their encounter, but lets Anne return home and the two share her bed.
The following day, Sasha refuses to speak to Anne and attempts dating Clifton, but he's accepted Anne dating her and mistakes Sasha's offer to be for him to be a beard. Anne tries unsuccessfully to resume her relationship with Sasha, even admitting her crush in public, but Sasha continues to remain distant.
Growing hurt, Anne secretly includes a picture in the school yearbook of her and Sasha kissing. The swapped photo is printed in every yearbook, and the families of Clifton, Anne, and Sasha are called by the school to convene. There, Sasha asserts that the encounter in the photograph was nonconsensual and depicted Anne taking advantage of her while she was drunk. Clifton, grappling with his own breach of Anne's consent, takes the blame for placing the photo in the yearbook and expresses how much of the student body knew the two were dating. Sasha ultimately concedes that she "doesn't know" if she hadn't or had consented. Anne and her mother then leave the meeting.
Later that day, Anne visits Jasmine, the owner of the bar and retail store where she and Sasha hung out, now to test herself for HIV. The two share a period of reflection over her history, in which Anne comments on another coercive sexual experience. Anne discuss her heartache over Sasha and accepts that she is gay. As she leaves, she buys herself a new bike.