Isabel, nicknamed Belly, has grown up with Conrad and Jeremiah Fisher. Her mother, Laurel, is best friends with the boys’ mother, Susannah, so Belly, her mom and her older brother, Steven, have spent every summer for the past 15 years at the Fishers’ beach house in Cousins Beach. Belly has always been in love with Conrad and has always been pals with Jeremiah, but this year she is about to turn 16, and both boys begin to look at her differently.
Belly has blossomed into a lovely young woman, but her appearance isn’t the only thing that has changed at Cousins Beach. Conrad is acting moodier than usual, and Belly learns that he recently quit football, broke up with his girlfriend and began smoking. Since Belly still adores Conrad, it’s hard for her to see him acting so withdrawn.
Belly recalls when Conrad first broke her heart. She was 12 that summer. Conrad took her to the local boardwalk, which she had hoped was a date, but turned out to be a pretext for him to visit a girl he had a crush on.
Susannah, who is like a second mother to Belly, is worried about Conrad. Susannah’s health is frail because she went through a bout of breast cancer and chemo treatments. Belly remembers that she and Jeremiah bonded the summer when she was 13, because they both overhead Susannah talking to Laurel about her cancer treatments and crying over the possibility of a mastectomy. From that moment, Belly became a friend that Jeremiah could rely on for support during moments of family tragedy.
Belly’s 14th summer threatened to ruin her friendship with Jeremiah, however. Belly brought her best female friend, Taylor, to Cousins Beach, and Taylor immediately began flirting with both Fisher boys. Taylor decided to try to win Conrad’s heart, but Conrad wasn’t receptive to her attention. Jeremiah was, so she flirted a lot with Jeremiah.
During a game of truth or dare, Jeremiah kissed Belly in order to make Taylor jealous. It hurt Belly’s feelings because it was her first kiss, and she wanted the moment to be shared with someone she really liked, not with her close friend.
In the present, Jeremiah teaches Belly how to drive a stick shift, since she’ll be turning 16 and getting her license. Steven leaves the beach house to go on a college road trip with his dad, leaving Belly without her brother as a buffer between her and the Fisher boys. Conrad and Jeremiah get more protective of Belly when her new-and-improved appearance draws attention from other guys at Cousins Beach.
Clay, one of their neighbors, invites her to his Fourth of July bonfire. There, she meets Cam, a straightedge vegan — he consumes no alcohol, drugs, cigarettes, meat products or animal products. Cam likes her. Belly tells Conrad that she’s going to leave the party and get a ride home with Cam.
Conrad forbids her to leave. Belly feels that Conrad is treating her like a kid and gets so angry she nearly cries at the unfairness of the situation. Later, Jeremiah asks Belly to forgive Conrad for his bossy behavior because he’s going through a tough time emotionally.
Belly notices that Susannah is taking many naps and doesn’t socialize with the rest of the family like she usually does. Since Mr. Fisher has not visited the beach house even once, Belly speculates that their marriage might be in trouble. An impending divorce would explain Susannah’s reclusiveness and Conrad’s mood swings.
Cam invites Belly to a party at his friend’s house. Conrad and Jeremiah insist on also attending the party so they can protect Belly. Jeremiah sings a love song on the karaoke machine and dedicates it to Belly and Cam’s new summer romance, embarrassing Belly in front of everyone at the party.
Later on, the evening is ruined when Conrad gets drunk and tries to pick a fight with a bigger guy. Belly and Jeremiah manage to get Conrad away from the other guy before things get violent, ending Belly’s date with Cam in a very unsatisfying way. As Conrad and Belly wait in the car for Jeremiah to drive them home, Conrad strokes Belly’s hair. For Belly, the moment of close contact brings up all her old feelings for Conrad and she realizes she’s still in love with him.
Conrad tells Belly that his parents are getting a divorce but that his mom won’t admit it to the kids because she wants them to all have one last, perfect summer at the beach house. As July turns to August, Belly keeps meeting Cam and going on dates with him. Laurel and Susannah invite Cam over for dinner with the whole family, but it’s awkward because Conrad doesn’t come down for dinner and Jeremiah spends the meal making fun of Cam.
Conrad comes home drunk one night and turns on blaringly loud music. Belly wonders whether his sudden change in character will finally make her stop loving him. However, each time Belly meets Cam, her thoughts go to Conrad. Cam realizes that Belly’s obsession with Conrad is still ongoing, so he and Belly decide not to contact each other when the summer is over.
One night, while the family is watching movies together, Susannah falls asleep, and Jeremiah has to carry her upstairs. When the movie is over, Jeremiah and Belly are left alone, and Jeremiah confesses that he has feelings for her. He says that he hopes she’s over Conrad, but she tells him that she still cares for his brother.
Jeremiah’s confession gives Belly the strength to find Conrad and admit that she still loves him. He says he’s not the one for her, but she counters that she knows he likes her, too. Belly gets angry because she thinks Conrad is stringing her along, not wanting to return her love, but still wanting to receive the benefits of her admiration. They get into a verbal fight on the beach, and Belly is crying when Jeremiah drives up.
Jeremiah yells at Conrad for making Belly cry, and the two brothers have a fistfight due to their built-up tensions from a whole summer of unhappiness. Laurel breaks up their fight.
When Susannah arrives looking suddenly frail, it’s clear to Belly that the boys weren’t just unhappy because their parents are divorcing or because they both have feelings for her. Conrad and Jeremiah have been aware that their mother’s cancer has come back. Laurel tells Belly that Susannah’s cancer has now spread to her liver, meaning she will probably have less than a year to live.
The next day, Belly lies in bed crying, mourning over Susannah’s condition. She finally has a heart-to-heart talk with Susannah, who asks Belly to take care of Conrad in the future. Belly finds Conrad sitting out on the beach, looking heartbroken over his mother’s fate. She goes to sit with him as he cries. Belly kisses Conrad to comfort him, and he kisses her back. He indicates that he can’t really think about love and relationship issues at the moment, so Belly sits with him on the beach, holding his hand in silent support.
Summer draws to a close. Belly and Laurel start cleaning the beach house and packing up to go back home. On the last night, everyone sits around the dinner table and Susannah addresses her illness, saying that she wants to live life to the fullest, even if she doesn’t have much time left. After dinner, Belly invites Jeremiah and Conrad to come for a midnight swim with her in the pool. All three of them splash around and have fun together just like they’ve always had, though it’s clear that Conrad and Belly’s relationship has grown romantic.
Months later during the Christmas season, Conrad drives more than five hours to visit Belly in Boston. He arrives at midnight, and she goes outside to meet him. Happily together with Conrad at last, Belly feels like every summer of her life was leading her to this moment.