Kunjunni (Mammootty), in an inebriated condition arrives on a rainy night to purchase Nellur Mana, which is believed to be haunted by the ghost of Savithri (Dhanya Mary Varghese). Being crazy about old houses and palaces, Kunjunni, who is in to realty business was lured into this deal by Gireeshan (Manoj K. Jayan), the son of Guptan Namboothiri (Thilakan), a feudal land lord.
In a fight with Kunjunni, his younger son had fallen from the terrace and had become paralyzed below the hips. Now Guptan Namboothiri wants to avenge for it. Upon reaching the old house, Kunjunni is attacked by the goons of Gireeshan, but he escapes miraculously. An atheist, Kunjunni leads a carefree life away from the traditions of his family and is in love with Thulasimani (Kanika), the daughter of Pisharody, the old friend of his late father, who was also a famous tantrik.
In spite of all the blocks that comes on his way, Kunjunni reaches back to own the house. Gireeshan leads him inside and he feels the presence of some supernatural powers inside. While stepping into the pond, he feels trapped inside and as if someone was pulling him down. Kunjunni's dead body is found floating in the nearby river on the next day.
Pattazhi Madhavan Nambooothiri (Mammootty), his brother, who is also a strong tantrik and Sanskrit professor decides to probe the reasons that caused his brother's death. Madhavan Namboothiri suspects Gireeshan's role in it. Madhavan is married to Mithra (Navya Nair), the daughter of Guptan Namboothiri against his wishes. It was Kunjunni who helped Madhavan and Mithra get married despite the enmity between the two families.
Upon learning about his brother's death, Madhavan goes to Nellur mana and along with his three disciples starts residing there. It is also revealed that Madhavan's father also had died by drowning in the pond long back, while was here to perform a vasthu puja. Madhavan and his disciples come across several supernatural experiences inside the house.
Madhavan finds several vastu doshas existing in the house that had caused a series of accidents including fire tragedies that had killed several members long back. Madhavan brings in the youngest member of Uliyanoor thachan (Suraj Venjaramood)to rectify the errors. Along with that, he also does several pujas to clear up the mess. But things get more complicated with the arrival of Tulasimani.
She is haunted by an unseen force from time to time. It is revealed that Tulasi is none other, but the daughter of Chitran Namboothiri, who was killed in a fire accident years back. Automatically, the ownership of the house comes in to the hands of Tulasi.
One night, one among the disciples of Madhavan is killed. The same night, Madhavan is attacked by Jayan, son of Gupthan Namboothiri. The next day, Jayan's corpse is found in the river. Beeran (Devan), the SP of police arrives at the spot for investigation and is shocked to find another corpse, that is of Vishahari, a trusted left hand of Jayan in the house. Madhavan explains to Beeran the secrets of the supernatural things happening inside.
A secret passage exists from the pond to the river that carries anyone who steps into the pond to the river. He also explains, that it was not any supernatural element that had killed his disciple, but was Jayan and Vishahari, who were in the house to hunt down Madhavan.
The next night, as Madhavan is getting prepared for the final puja to clear up the whole mess, when Gireeshan arrives in the garbs of Savitri. It is revealed that Gireeshan is suffering from multiple personality disorder and it is him, whom many people mistook to the ghost of Savitri. Madhavan physically overcomes Gireeshan and defeats him, thereby putting an end to the mystery of the ghost.
He thus moves back from Nellur Mana, handing the key to Thulasimani.