Shakti tells the story of Nandini (Karisma Kapoor) who is happily settled in Canada. She lives with her two uncles. They pamper Nandini like their own daughter. And like any other guardian they too wish to see her settled down in life. Their joy knows no bounds when she tells them that she loves someone and wishes to marry him. That guy is Shekhar (Sanjay Kapoor) an Indian settled in Canada. The duo marry and soon have a son Raja.
Shekhar's ailing mother writes to him to return to India. He informs Nandini about it and they leave for Shekhar's home town. When Nandini steps in Shekhar's village for the first time, she finds it difficult to cope with the heat, the dust and the crowd. The bus that they are travelling in is attacked by a frenzied mob weilding swords. Shekhar is beaten black and blue. But they have a unbelievable escape when the attackers are shot dead. Violence, blood and mutilated bodies, the first taste of her husband's land leaves Nandini shocked.
Shekhar, Nandini and Raja arrive at the haveli. Narsimha's (Nana Patekar), Shekhar's father, is indifferent to Nandini while her mother-in-law (Deepti Naval) showers all attention on her. One day Nandini sees her father-in-law teaching her son to throw a bomb. She informs Shekhar about it who just promises her that they would return to Canada soon. But that does not happen and Nandini soon finds herself at the mercy of the man she abhors the most Narishma. How she fights against him and escapes with the son forms the rest of the story.