Lily has recently moved to Boston after finishing her master’s degree in business. At this point in her life, Lily is caught somewhere between the past and the future. The opening scene finds her on a rooftop deck contemplating the eulogy she delivered earlier that day for her father’s funeral. It bothers her that she still feels overwhelming rage at her father, who was beloved by his community but abused Lily’s mother behind closed doors. Lily is also still angry at herself and her mother for keeping the domestic violence a secret.
In the midst of wrestling with these complexities, Lily meets Ryle Kincaid, a neurosurgery resident who has also come to the rooftop to work through his anger. They are immediately at ease with each other, exchanging “naked truths” about themselves and sharing their deepest thoughts. Ryle explains that he wants to be the best surgeon in his field, and Lily tells Ryle that she longs to quit her job in marketing and open her own floral shop. Ryle tells Lily he wants to have sex with her. Though Lily finds Ryle very attractive, she explains that she doesn’t have one-night stands with strangers. Ryle gets a call from the hospital and has to leave abruptly.
Six months later, Lily brings her mother to the storefront space she purchased with her inheritance money to open her shop. Later that day, Lily hires Allysa, whose enthusiasm, determination, and vision for the space win Lily over. They become fast friends. When Lily accidentally sprains her ankle in the process setting up shop, Allysa calls her brother and her husband, Marshall, who’ve been watching football at a nearby bar, for help. When the men arrive, Lily realizes that Allysa’s brother is Ryle, the man she met on the roof.
After reconnecting at the floral shop, Lily and Ryle continue to run into each other, though they attempt to ignore their attraction to each other because of their conflicting long-term goals. With every meeting, however, their sexual tension grows. Lily tries to distract herself by reading entries from her childhood diaries, which she addressed to her hero, Ellen DeGeneres. In so doing, Lily relives parts of her childhood she hasn’t thought of in many years, like specific episodes of her father’s abuse. Reading her diaries also reminds Lily of her classmate, Atlas Corrigan, whom she befriended after noticing him living in the abandoned house across the ally from Lily’s childhood home.
In the present, Lily and Ryle decide to give dating a chance despite their reservations. Ryle is amazed by Lily’s supportiveness of his career, finding that a loving relationship adds to rather than detracts from his goals. In return, Lily finds Ryle’s devotion a blissful complement to the escalating success of her business. They become enmeshed in each other’s lives. Ryle wants to meet Lily’s mother, so the three of them have lunch at a new restaurant in Boston, Bib’s. While Ryle and Lily’s mom hit it off, Lily is distracted when she recognizes their waiter as Atlas, her childhood friend. Lily lingers after her mother and Ryle leave the restaurant, and she and Atlas catch up for the first time in nine years. Lily tells him about her business and relationship with Ryle, and Atlas tells her about his time in the military and his girlfriend, Cassie. Though Lily feels a pang of jealousy when Atlas mentions his girlfriend, she leaves the conversation feeling like she finally has some clarity on their relationship and is eager to move forward.
Still, Lily continues to reread her old journals. The entries recount how her feelings for Atlas continued to grow. Together, they endured their traumas and made plans for a happy future together in Boston. One evening, Atlas gave Lily an open heart he’d carved from the tree between their homes as a symbol of their connection and his feelings for her. Their blossoming love was derailed, however, when Atlas’s uncle in Boston offered him a home—something Atlas couldn’t turn down, though it meant he had to leave Lily behind in Maine.
Back in present-day Boston, Ryle and Lily’s relationship continues to flourish—until it doesn’t. They’re sharing a bottle of wine one evening when Ryle accidentally burns his hand while grabbing dinner out of the oven. Lily’s shocked laughter angers Ryle, and he pushes her into a cabinet. When he apologizes, all Lily can hear is the echo of all her father’s apologies after hurting her mother. The episode forces Lily to re-evaluate her relationship with Ryle, and while she is horrified by his behavior, she believes he is different from her father and decides not to punish him for her father’s sins. Lily forgives Ryle, but she warns him that she will leave if he hurts her again.
The next day, Lily and Ryle meet Allysa and Marshall at Bib’s. They run into Atlas, as Lily feared they would, and when he sees Lily’s injury and the bandage on Ryle’s hand, he automatically assumes—correctly—that Ryle hurt her. Atlas follows Lily to the bathroom to check on her, and a fight nearly breaks out when Ryle finds them leaving the restroom together. After they leave Bib’s, Lily explains her history with Atlas. Ryle worries that she is cheating on him, but she reassures him Atlas is only a concerned friend. The next day, Atlas visits Lily at her work and gives her his phone number, which he hides behind her phone’s battery. He tells her to call him if she ever needs him one day. Later, Lily returns home to read the last entry in her journal, which recounts the night Atlas came back from Boston to visit Lily for her birthday. He explained to her on that night how she had saved his life. Atlas promised to come find her once he improved his life enough to deserve having her in it; he gave her a Boston magnet as a symbol of that promise.
Ryle and Lily decide to fly to Las Vegas and get married. The beginning of their marriage is happy and carefree, much like their dating life, until one evening when Ryle finds Atlas’s phone number in Lily’s phone. Lily wakes from another violent incident with several cuts on her face and a concussion. Unlike the last time Ryle hurt her, Lily does not cover for him after this incident. When Allysa finds out about the abuse, she supports Lily’s decision to leave Ryle, but she begs Ryle to tell Lily about their brother. Lily learns that Ryle accidentally shot and killed his brother, Emerson, as a kid. This trauma has been a key driver of his passion for medicine, his fear of love, and his manic, rage-filled episodes. In light of this new information and Ryle’s promise to do better, the couple reconciles.
Another stretch of undisturbed happiness follows. Ryle buys Lily an apartment in the same building as Allysa, who is pregnant, and they all excitedly await the arrival of Allysa and Marshall’s baby to arrive. On the day Allysa goes into labor, Ryle wins a two-month fellowship in Europe, and the local paper lists Lily’s flower shop as one of the best new businesses in Boston. Lily and Ryle are in awe of their new niece and decide to start trying for their own baby.
But one night, Lily arrives home to find Ryle drunk and angry. Ryle explains that he read the newspaper story about Boston’s best new businesses more closely and found that Atlas’s restaurant is featured in it. In Atlas’s interview, he explains that the name stands for “Better in Boston”—just like Lily’s magnet. Ryle then decides to go through Lily’s things and finds the carved heart, which is identical to the tattoo on Lily’s shoulder. Reading Lily’s journals further convince Ryle that Lily is harboring secret feelings for Atlas. Ryle’s most violent episodes follows. When Lily struggles, he headbutts her, rendering her unconscious. In an effort to deescalate the situation, Lily agrees to forgive a remorseful Ryle. Once he falls asleep, she escapes.
Lily calls Atlas, who takes her to the hospital. There, she finds out she is pregnant with Ryle’s baby. While Lily decides what to do, Atlas lets her sleep in his guest room. The next day, Ryle tells her that he is going to Europe for his fellowship, giving her space for the next two months. He doesn’t know about the pregnancy. Lily finds sanctuary with Atlas at first, though she is worried about what his girlfriend will think. Then, when his friends come over for a poker game, Lily discovers that Atlas made up Cassie. When Lily confronts Atlas about the lie, he tells her that he didn’t want her to feel bad for him ending up alone or guilty for never coming back to him. Lily then asks Atlas why he didn’t keep his promise of finding her. He admits he did come for her in college, but he saw that she was dating someone else. They agree that their feelings for each other and Lily’s current situation with Ryle make things too complicated, so Lily goes back to her empty apartment. Before she leaves, Atlas tells her that if she is ever willing to fall in love again, he will be waiting.
Back home, Lily finally tells Allysa what Ryle did to her, and she also shares the news of her pregnancy. Shortly after, Ryle comes home early to try to work things out with Lily. Marshall agrees to serve as a moderator and protector while they talk. Lily is visibly pregnant when Ryle sees her. Ryle begs her to let him come home so they can raise the baby together. She tells him to leave and admits she wishes the baby wasn’t his. Lily then fills her mother in about the abuse and the baby; she also admits that she still loves Ryle. Lily’s mom expresses how proud she is of Lily for leaving. She tells Lily that if Ryle really loved her like he says he does, he wouldn’t let Lily take him back.
As Lily’s pregnancy progresses, she and Ryle form a tentative truce. Lily lets him help her out in small ways at first, and eventually she is comfortable enough to let him stay in the apartment in case of emergencies. When their daughter is born, Ryle is by her side. Lily suggests that they name her Emerson—Emmy—in honor of Ryle’s late brother. Ryle is overcome with love. When he asks Lily for an answer about the future of their marriage, Lily asks him what he would do if Emmy told him that her boyfriend hit her. Ryle, understanding the point of Lily’s question, is devastated but supportive when Lily asks for a divorce. Lily hopes that this decision has broken the cycle of abuse she and her mother endured, ensuring Emmy will never suffer the way they did.
Nearly a year later, the epilogue finds Lily rushing down the street with Emmy to drop her off with Ryle. On her way, she runs into Atlas. Lily introduces him to her daughter, then they part ways. After Lily meets up with Ryle and says goodbye to Emmy, she runs back the way she came and catches up with Atlas. She tells him she’s ready to be with him. They kiss, and Lily feels as if her struggle to survive is over.