A grandfather is walking along the beach when his grandchildren inquire about the lighthouse that looks over the waters. He replies by telling them that the lighthouse is older than himself and tells him a story about it. The story is about a young girl named Andrea (Angel Locsin) and her older brother Jason (Ryan Eigenmann) whose parents work in a sugar cane field of a family called the De Veras. One day, Andrea finds a dirty boy hiding out in their truck. Her father pities the boy and takes him in as his own son.
As the years go by and the children get older, Andrea and the boy, Daniel (Richard Gutierrez) grow very fond of each other while Jason becomes jealous of Daniel because of how much attention he has gotten from his family. One day Jason and Daniel get into a fight when their parents are not home and Jason beats him up and tells him that he will be sleeping outside that night. Andrea goes out to comfort Daniel and the two imply that they love each other. The two play together and pretend to get married: Andrea is the bride, Daniel the groom and the De Vera's daughter, Monique (Rhian Ramos), is the bridesmaid. Monique complains that she is always the bridesmaid and now she wants to have her turn at marrying Daniel. One day, Andrea's parents have news that they are moving into the hacienda behind the De Vera mansion and Jason, disappointed that he will not actually be living in the big house, runs away swearing to one day get rid of Daniel for good.
Now Andrea and Daniel are in their early twenties. Andrea's parents get into a car accident and die. Jason secretly comes back for his parents' funeral and afterwards, he shows up at the hacienda and tells Daniel and Andrea that he is the head of the household and kicks Daniel out. The De Vera's children, Antonio (aka Anton, (TJ Trinidad)) and Monique, come back from studying abroad and their mother throws them a welcome home party. After hearing that Monique has returned, Andrea and Daniel go to check it out even though they were not invited. Andrea had a scheme to get a glimpse of the party but she was unable to see anything when she was bitten by one of the guard dogs. Daniel carries her into the party to seek help and then Anton gets the doctor to inspect her. She stays at the De Vera mansion for a few days, just until her foot recovers. It then seems that Anton has fallen hard for Andrea and Monique for Daniel but they are not interested. Daniel and Andrea love each other very much and make a promise to always be together. To physically seal the deal, they go to the lighthouse near the beach, Daniel gives Andrea a locket with their pictures in it and the two make love. When Andrea comes home from the lighthouse, she meets her brother and he tells her that he has made a business deal with Anton. The deal will only work if Andrea agrees to marry Anton. Andrea refuses because she clearly loves Daniel. Jason threatens to kill her if she does not obey him and starts beating her. She cries herself to sleep and hears Daniel calling to her from her window. She ignores him in fear that Jason might catch her if she tried to meet up with him.
The next day Daniel tries to meet up with Andrea again but she unwillingly ignores him and heads into Anton's house. Shocked, he tries again to talk to her but she tries to avoid him. He finally gets her attention and interrogates her about her being at Anton's house instead of meeting with him. She does not answer until she is questioned about the wound under her lip, the one given to her by Jason the previous night. She says that she tripped and hurt herself. She tells Daniel not to worry about anything; everything's gonna be alright. In the next scene the couple intimately make out at Daniel's house but they are interrupted when Jason furiously barges in at the sight of the two kissing. He shouts at Andrea and pulls at her hair and then goes after Daniel, who he beats to the ground, his final blow is to the head with a wooden crate full of bottles. He leaves the scene and Andrea attends to the now unconscious Daniel, asking him to forgive her. A few days later Daniel goes down by the lake to wash off his wounds. Monique sees him there and tries to flirt with him. She asks him if he is going to Andrea's birthday party but he replies by saying that he was not invited. Monique tells him that she was invited and now she is inviting him so the two go to Andrea's party together. Once there, Andrea notices that Daniel is attending. She thinks nothing of it and the party continues. Anton then holds a box out in front of her and opens it, revealing a necklace with a diamond pendant. Daniel sees that Andrea is still wearing the locket that he gave her and he is surprised when she has to take it off just to try on Anton's necklace. Then Anton gets down on one knee and asks Andrea if she loves him. Despite her heart telling her the contrary, she sadly looks up at Daniel and says yes. Daniel is shocked to hear this. Anton then asks her to marry him and before she can answer, Daniel has already fled from the party. Andrea says she will think about it and runs off to find Daniel and explain things to him. She searches everywhere but once she gets to his house, she finds no one and concludes that he took all his savings and ran away.
Andrea gets married to Anton according to her brother's wishes and Daniel becomes a very successful man by being an underground mixed martial artist/brawler. Three years have passed since Andrea's party and one day Daniel decides to return to his hometown. Anton, Andrea and Monique patiently wait for a friend of Anton's, someone who he has made business with. The man arrives on a yacht and he turns out to be Daniel. Everybody is surprised at this, especially Andrea. Daniel tries to win over Monique's heart again in attempts to make Andrea jealous. Andrea at this point is not jealous at all, in fact she is still so shocked by Daniel's presence that she faints. She is revived and that night, Daniel comes by Andrea and Anton's house to speak to her. The two meet in the backyard and it is revealed that their feelings for each other have not changed one bit. Daniel tells her to meet him later at the lighthouse and Andrea goes back into the house to prepare for the "meeting" and looks for the locket that Daniel gave her three years back. Anton goes up to their room and the couple sleeps together. Then when Andrea is sure that Anton has fallen asleep, she goes to the lighthouse to meet with Daniel and the two make love.
When Andrea comes home from the lighthouse, she is shocked to see that Anton has awakened and that he knows where she has been and with whom. He shows her that he also knows about the locket, which she forgot to wear when she went to meet up with Daniel, and he throws it to the ground. He then approaches Andrea and pulls at her hair asking her questions. At this time Monique walks into this scene of the fight and asks what is going on. Anton says that Andrea is making a fool out of him, and pretending to love him when she really loves someone else. Then Andrea tells Anton to let her go because Daniel is waiting for her at the lighthouse but Anton tells her to let him wait forever and takes her to their bedroom. Monique notices Andrea's locket on the floor. She picks it up and looks at the pictures; it has now become clear to her as to what this was all about. Then she goes to the lighthouse to meet Daniel instead of Andrea and she deceives him, telling him that Andrea sent her to tell him that she does not love him any more and that she has changed her mind and loves Anton. She gives Daniel back the locket.
The next night Andrea, Anton, Monique and Daniel have dinner together on the beach. There, Daniel declares that the yacht that he arrived in a few days ago now belongs to Monique. Also, just like Anton did when he proposed to Andrea, Daniel proposes to Monique with a necklace. Shocked and surprised, Monique accepts and Andrea is crushed. Daniel and Anton go off to talk for a while and they make a deal: Anton will let Daniel marry his sister only if once they marry, they will move somewhere far away to settle. Daniel agrees. Meanwhile, Andrea tells Monique not to marry Daniel because she will be truly heartbroken, that he only wants to marry her to make Andrea jealous. Monique does not believe her and leaves. When Andrea and Anton go to bed, Andrea begs Anton not to let his sister and Daniel marry because it will shatter her heart. In the middle of the night, Andrea wakes up, and she can be seen in the bathroom clutching her stomach and seems to be in massive pain. The next morning she is still asleep, and Anton is watching her. She starts muttering words in her sleep, as if she was talking to Daniel, saying such things as "Daniel, don't go, don't leave me." Anton checks on her, feels her forehead and calls the doctor.
After the examination, the doctor concludes that Andrea has a fever and that she has to take a special medicine to get rid of the infection that is causing it. The doctor explains that he cannot give Andrea antibiotics because it could harm the baby. Anton does not know anything about a baby and the doctor states that Andrea is, in fact, pregnant, but she has an ectopic pregnancy. If Andrea is not treated soon she could have a hemorrhage or severe internal bleeding. As Anton is infertile, the only explanation for her pregnancy is Daniel. As soon as the doctor leaves, Anton locks Andrea and himself in the bedroom and he starts to beat her. The maid and Monique overhear Anton and Andrea from the outside of the door and when they hear that Daniel got Andrea pregnant, Monique cries, heartbroken after hearing the news. She then runs to Daniel's house and tells him what she has just found out. Anton keeps on hitting Andrea despite the screaming and pleading for him to stop. Then she falls to the ground, and blood can be seen on her white dress. Anton stops just as Daniel kicks down the door and runs to Andrea's side. He carries her out of the house.
Daniel takes Andrea to the beach, where they talk. The two profess their undying love for each other and promise that they will live in each other's memories. After the promise is made, Andrea dies.
The movie is brought back to the grandfather from the beginning of the movie. His grandchildren ask if Andrea is still alive and he answers "Yes. She is still alive right here, in my heart." A montage shows Andrea and Daniel playing together on the beach. At the end it shows a clip of him on the sand, his hand held out, holding the same locket with Daniel and Andrea's picture in it. This implies that he is, in fact Daniel and that his last memory was of Andrea and himself, being together at last.Richard Gutierrez as DanielAngel Locsin as AndreaRhian Ramos as MoniqueTJ Trinidad as AntonRyan Eigenmann as JasonEugene Domingo as Yaya DeliaMelissa Mendez as Andrea's motherJoel Torre as Andrea's & Jason's fatherRaquel Villavicencio as Anton's motherElla Cruz as Young AndreaJodel Stasic as Young Daniel