Sunil is woken up from his dream of marrying the girl he loves, Anna, by his sister. Sunil is a happy-go-lucky scamp who loves music and is not interested in studies, which bothers his father, Vinayak. Everyone has given up on Sunil and thinks he is good for nothing except for Father Braganza who believes Sunil is pure at heart. Sunil, Anna, and Chris are 3 members of a 6-person music band, who are looking to make it big. Anna rejoins the group after being away for a while, which makes Chris happy as he loves Anna. After Anna reenters his life, Sunil begins to try and change his ways in order to get Anna to fall in love with him. During a performance at a friend's wedding, Sunil notices the closeness between Anna and Chris. Devastated, he decides to create a rift between them. Sunil eventually gets caught in his own web of lies. A furious Anna slaps him and decides to never talk to him again. Sunil is thrown out of the band. However, fortune favors Sunil who saves the band from being heckled at a local club by putting on a stellar show; the entire band forgives and forgets. Sunil thinks he has won Anna back but finds out that Anna and Chris love each other and want to be married. Crushed to pieces, Sunil accepts he has lost in love. Meanwhile, Anna's father decides that Chris is worthy of marrying her. He makes his intentions known but Chris' parents have other ideas and decide Chris's marriage to their friend's daughter. Anna and her family are dejected. Sunil consoles Anna and the tide slowly turns in his favor. Anna's father, having realized that Sunil will love and take care of her, convinces Anna to marry Sunil. Sunil is overjoyed until he realizes Anna still loves Chris. Sunil decides to reunite the two and get them married. On their wedding day, as Chris and Anna are about to exchange rings, Chris drops his ring and it rolls out of sight. Sunil spots the ring but feigns ignorance, even as his younger sister gazes at him with a heavy heart. Eventually, Chris locates the ring and the couple gets married. Just after the wedding, Sunil is shown sitting on the sidewalk, dejected, and heartbroken. By happenstance, a random girl, who is lost and is seeking directions, approaches Sunil. Sometime later, Sunil and the girl are seen walking in the moonlight and talking merrily. Anthony and Vasco, two criminals who are a part of the story, see Sunil with the new girl and break the fourth wall, saying that Sunil will be alright. The criminals hear the police siren and immediately scamper away as the credits roll.
The music was composed by Jatin–Lalit, while the lyrics were penned by Majrooh Sultanpuri. The song "Sachi Ye Kahani Hai" derives from two songs: Boney M.'s "Rasputin", and Johnny Wakelin's "In Zaire". Kabhi Haan Kabhi Naa sold over 800,000 soundtrack albums in India.