The story, based on an idea from Salman Khan, centres on Saajan, the son of a colonel in the Indian army, and Kaajal, a modest girl from "a respectable family." The film opens with Saajan travelling in a bus, when he catches a glimpse of Kaajal on another bus, and they are both smitten. They do not formally meet and, since Saajan is off to start at college, he does not think he will ever see her again. But his new friends at college, Buddha, Tempo and Refill, one night insist that they all visit a brothel in a seedier part of Bombay. Saajan only reluctantly agrees, but ultimately refuses to select a prostitute - until he hears a new girl being beaten by her pimp, and decides to protect whoever she is. To his surprise, it is Kaajal again, called Paro at the brothel, who has been kidnapped by a pimp after she was tricked by a job offer in Bombay.
Kaajal, who has only very recently arrived at the brothel and is still a virgin, has adamantly refused to be a prostitute, hence Jaggu, who runs the brothel, beating her. When finally alone with Saajan as a paying client (although he does not, of course, do anything with her), Kaajal explains to Saajan how she was forced to look for work after her parents' deaths, and how this ultimately led to her travelling to Bombay and being kidnapped by Dhanraj then forced to work in Jaggu's brothel. Thanks to Leelabai, the madame who helps run the brothel for Jaggu, Saajan is able to spend time with Kaajal, and Kaajal is somehow able to keep resisting actually becoming a prostitute. Saajan and Kaajal fall in love, and he tries to find a way to get her out of the brothel before Kaajal gives up hope.
When Saajan is finally able to introduce Kaajal to his parents, they - not surprisingly - reject the idea of his marrying a girl from a brothel, even if she was taken there against her will and is actually from a respectable family. Since Saajan's father, Col. Sood, was already angry with his son for refusing to follow family tradition and join the Indian army, this is the last straw, and Saajan is kicked out of his house. He becomes, in his own words, a rebel - a word which is repeated several times in the movie. Since Kaajal is already rebelling against Jaggu because she believes in love, they are now both "rebels for love." With the help of Saajan's college friends, they help Kaajal escape Jaggu's brothel and flee Bombay to Ooty, near where her grandparents live. But just as they are about to be married with Kaajal's grandparents' consent, if not Saajan's father's, police arrive take them back to Bombay, where they claim he's wanted for kidnapping "Paro".
But Saajan's father, upon hearing of his son's heroics in fighting Dhanraj's men to rescue Kaajal, suddenly has a new-found respect for his son, who had previously been a lazy drifter. With the help of Saajan's three friends, Col. Sood finds his son outside Jaggu's brothel, where the "police" (who are actually working for Dhanraj) have returned Saajan and Kaajal to Dhanraj, who is preparing to punish them both for her leaving the brothel. The intervention of Leelabai on Kaajal's behalf leads to yet another fight, with several people switching alliances.