Mahal is a reincarnation and a ghost story. In Prayag, there is a beautiful abandoned palace. When a new owner, Hari Shankar (Ashok Kumar), comes to live in this palace, the old gardener narrates the story of incomplete love.
Some 40 to 45 years ago, a man built it and his lover, Kamini (Madhubala), began to live in it. She would wait all day long for the man to come to her at midnight, but he always left before it was morning. One stormy night, the man's ship sank and he drowned. Before leaving Kamini, he tells her that their love will never fail. A few days later, Kamini also died.
When Shankar goes to a bedroom, a photograph falls from the wall and Shankar is astonished to find the man in the photograph looks exactly like him. Then, a woman is heard singing and Shankar follows her voice. He finds her sitting in a room, but she flees when she sees him. Shankar's friend Shrinath (Kanu Roy) arrives and Shankar expresses suspicion on him being the man of the incomplete love story in a previous life. Shrinath tries to calm him, but then the woman reappears. They follow her to the terrace, where she jumps off into water and the two men find nothing when they look down. The next day, Shankar heads back to Kanpur. At Naini, he gets off from a train and goes to the palace. Kamini tells him that she is real, but Shrinath interferes and warns Shankar that she will draw him to death. The ghost appears again and tells Shrinath to stay away from them. Enraged, Shrinath tries to shoot her but fails.
Kamini tells Shankar that if she could enter into a body of a woman whom Shankar likes, she could return to life. She tells Shankar to see the gardener's daughter's face to check if she's beautiful and he can accept Kamini in that face. Meanwhile, Shankar's father arrives after hearing everything from Shrinath and takes him home. Shankar marries Ranjana (Vijayalaxmi). He decides to move far away with his wife in order to forget Kamini. After two years, a disturbed Ranjana wanting to know where Shankar goes every night, follows him when he goes to meet Kamini. Kamini tells him to kill the gardener's daughter so that she can use her body. Hearing everything, Ranjana drinks poison and goes to police station to give a deathbed confession against Shankar of betrayal and poisoning her. Shanker is presented in court and the daughter of the gardener, Asha, is also called there, being accused of the rift between Shankar and Ranjana. Later Asha is revealed to be Kamini. She then accepts that she has played Kamini because she had fallen in love with the man in the photograph, who looks like Shankar. But Shankar is sentenced to death. Later, the police come to know about Ranjana's letter and free Shankar. Shankar rushes to Shrinath's place but dies. The credits roll as a grieving Asha and Shrinath walk away.