The film is introduced when an old lady's (Nandita Das) son and daughter in law comes to stay on her house where she is solitary. Every often her son and her daughter in law notice that she goes to the beach prays in the garden every night. When they ask her why she is going to the beach she says that she is waiting for her husband to come. The son gets angry and says that you have been waiting for 25 years, he is not going to come.
Whilst the mum goes to the beach the couple dig where she is praying and find a skeleton. They report to the police and the case is handled by Inspector Agnes (Varsha Ashwathi) who begins interrogating the old lady. The old lady tells her past.
Arulappasamy (Vishnu) is a young man who is an alcoholic and wastrel who is a constant embarrassment to his hardworking parents. Esther (Sunaina) is an orphan girl who is adopted by a nun, Benita (Anupama Kumar) and she stays in the church. Arulappan slowly gets attracted to Esther and his love for her, changes him. He gives up drinking and wants to work so that he can marry Esther. But the local fishermen do not allow him to go into the sea. The young man due to his determination buys a boat, marries his love and life is all rosy, till fate intervenes.
The married couple have a son and one day Arulappasamy goes to fish but after several days he does not return. Esther is really worried about him. They find his body in a boat shot and bring him home. Esther says to keep him in the house and it was all her fault because she is the one who sent him to work. The police release the old lady but ask a question at the end " Why do you wait for your husband to come if you know he is dead?" She replies, "Only his body returned to shore. His soul is still in sea"