Annie (Ramya Krishnan) while traveling alone in a forest area, has an accident. Shamu (Mohanlal) finds and rescues her. Shamu, who was a medical student once, changes her dress as she was bleeding profusely and lets her rest and recover in his tent while taking care of her. Annie recovers under Shamu's care and eventually falls in love with Shamu. Shamu drops Annie near her house and says goodbye to her.
Annie's family wants her to marry Roy (Suresh Gopi). However, Annie cannot forget Shamu and returns to his camp in the forest but finds the place abandoned. Roy invites Annie for a movie, but Shamu calls her from a phone booth. Annie goes to meet Shamu and they talk. Roy follows Annie and talks to Shamu telling him he should stop seeing Annie.
Annie meets Shamu again in the forest. Shamu tells Annie about his past life and about a tragic accident that happened to his wife Leelamma alias Leelu (Urvashi) who was washed away in a river current and raped by Roy and his friends. Shamu marries Leelu and has a child with her but she develops a mental disorder possibly due to PTSD following a rape.
She is admitted to a mental hospital and put under duress.
Annie tells Shamu she loves him and she goes to see Leelu in the hospital. Shamu and Annie go for a trip and they consummate their relationship, and Shamu gives word that he will marry her.
On his return to his house, he learns that Leelu who had an accidental fall, has had her mental illness cured. This puts Shamu in a dilemma. Leelu tells him to marry Annie too. Soon Shamu learns that Roy was the one who raped Leelu.
In the climax, Shamu and Roy gets into a fight together, however, it ends with both Roy and Leelu falling from a height into a waterfall and both of them die.