Rahul (Shahrukh Khan) is a dancer and the director of a successful music and dance troupe. He believes that Nisha (Karisma Kapoor), one of his dancers, is his best friend, Nisha acts like his pal, but is secretly in love with him. Nisha injures her foot and Rahul needs a new dancer. He hires Pooja (Madhuri Dixit). She and Rahul are increasingly attracted to each other, but they act as if it were not happening. Pooja, unknown to Rahul, is already engaged to Ajay (Akshay Kumar), the son of family friends who raised her when her parents were killed. A romance with another man would be scandalous, and be a disappointment to her auntie and uncle, who want to see her marry their son. She tries to keep her distance from Rahul and Rahul, puzzled by her mixed signals, does not push matters. Nisha, however, her senses sharpened by jealousy, sees it all. Rather than try to stop the affair, however, she decides to leave India for a time and let matters take their course. She truly loves Rahul, and wishes only the best for him. As preparations for the new show continue, Pooja finally tells Rahul that she is engaged to Ajay, Rahul is deeply hurt. He revises the show to reflect his new unhappiness. Nisha returns from London to view the new production and complains that it has an unhappy ending. Rahul refuses to change it, the story reflects his relationship to Pooja the way he sees it. In the end, Rahul decides to make one last effort to revive his romance with Pooja. Pooja is torn between love and duty until Ajay, who has realized what is going on, releases Pooja from her engagement. Pooja and Rahul reconcile and all ends happily.