Balraj Kapoor (Amitabh Bachchan) is a rich businessman with progressive modern outlook towards life. For him, family, culture and values are of utmost importance. Shobhna (Hema Malini), his wife is more than just his better half. Together, they dote their only child Avinash (Salman Khan). For Balraj, Avinash is more of a friend than just his son. After spending many years abroad for studies, Avinash returns home to his parents. Their lives light up and there is happiness everywhere.
Avinash then meets the pretty Millie (Rani Mukherjee) who is a painter. They fall in love and get married. They are blessed with a lovely child named Ansh. Rajat (John Abraham) a young musician and the best friend of Millie, had his feelings for Millie but had never revealed it to her. He is now happy for Millie and Avi. He decides to settle in Europe, pursuing his musical career.
Fate plays a cruel game and one day Avinash meets with a fatal accident. Life without Avinash is unbearable for Millie. Meanwhile Balraj and Shobhna try to find the love of Avinash in Ansh.
Balraj cannot bear to see Millie?s colourless life. He decides to find Rajat and asks him to marry Millie and help him bring back the colours back into her life. But Balwant (Om Puri), Balraj?s elder brother settled in rural Punjab with his family and his widowed sister-in-law objects to Balraj?s plans. Even Shobhna may not be with him this time.
Will Balraj be able to fulfill his plan?
Will he be successful in this test of love?
Will he prove to be a father (Baabul) rather than being a father-in-law?
What questions will be raised by his actions and how the society will react to it forms the story that Baabul is all about.