This upbeat romantic drama follows the life of Ravishankar (Jayaram), an unsuccessful investor, who stays with Dennis (Suresh Gopi), his friend who is a big success in farming business. Dennis owns a vast farmland named Bethlehem, and hundreds of cows, in a valley. Ravi is a fun-loving, jovial chap, who has fabricated stories of his success to his parents and relatives.
On a vacation, Colonel C.R. Menon (Janardhanan), his grandfather arrives with his grandchildren to spend a couple of days at the farmhouse. He successfully makes them believe that he is the real owner of Bethlehem, and Dennis is his partner.
Dennis, who is an orphan, is happy to meet a huge family and welcomes them with love and warmth. Colonel Menon has a plan to get Ravishankar married to any one of his granddaughters. Ravishankar is a bit confused about whom he should choose. For past few months, he had been receiving a mail from one among these girls expressing her love for him.
Ravi and Dennis decide to find out the one behind this game. Meanwhile, a few days after their arrival at Bethlehem, Abhirami (Manju Warrier), another granddaughter of Menon, who is studying at Bangalore arrives alone. She seems to be too upset and worried. But within a short time, she returns to normalcy and enjoy the colors of vacation. They play pranks on Ravi and Dennis and there is merriment all around.
One day Dennis reveals to Abhirami that, Ravi has been receiving mails from one of the girls. Abhirami questions all the girls but no concrete solution is found. As time passes, Dennis feels a special attraction for Abhirami.
Colonel Menon and his wife decide to get Ravi married to Abhirami. She snubs them by declaring that she is in love with Dennis. Her decision creates a panic among all, who believe that Dennis is a failed businessman who is living at the expense of Ravishankar. Ravi shocks everyone by revealing that he is nothing and the original owner of Bethlehem is none other than Dennis.
Abhirami meets Dennis who is completely broken down after the chaos at the house. Dennis, at the same time, is happy at heart knowing about Abhirami's love for him. But she shocks him by saying that she was just using his name to escape the marriage. She tells Dennis that she is in love with Niranjan [Mohanlal], a Naxal revolutionary in southern Karnataka. Niranjan, whom she met at Bangalore, is now in jail, convicted of killing Brijesh Mallaya, a landlord and his family. He has got capital punishment and is waiting for the gallows. He is to be executed in a couple of days; Abhirami has taken a vow not to marry anyone other than Niranjan.
But at home, upon the compulsion from Ravi, the family decides to get Abhirami married to Dennis. The night before marriage, Abhirami requests Dennis to take her to jail to meet Niranjan as he is getting executed the next day. Dennis takes her to Niranjan (Mohanlal), who is a completely changed man.
Remorseful Niranjan regrets the violent ways he adopted in class war and the crimes he did to obtain a classless society. In jail, Niranjan became more spiritual and advises Abhirami to forget him and accept Dennis as her husband. Abhirami refuses to take his words, but Niranjan forces Dennis to tie the mangalsutra to Abhirami, which she has brought with her. Dennis obeys Niranjan, marries Abhirami at the jail, and Niranjan witnesses it with tearful eyes. He goes back to his cell happily by wishing them all success.
A few days later, the family returns from Bethlehem, while Ravi jokingly reminds everyone that they should be back here next year to welcome junior Dennis. The train departs slowly and a girl's hand reaches out the rapidly receding coach window, holding the kitten which was sent as a gift. Ravishankar takes off running to find out who it is, but he catches only a cryptic message that teases him to follow and discover her identity.