Sham Ghansham is a story of a mother's supreme sacrifice which are reflective of the fact that there is no relationship in the world greater than that of a mother and child. Collector Thakur Bhim Singh (Amrish Puri) misuses his power and position to accumulate wealth. This he does for his wife Kaushalya (Rohini Hattangadi) and his to be born child whose arrival he is waiting.
Honest CBI Officer Satyadev Singh (Vikram Gokhale) has just recently, along with his wife Gangadevi (Rakhee Gulzar) who is also bearing a child) been transferred to his new posting. When Satyadev comes to know about Thakur Bhim Singh's misdeeds, the Thakur eliminates him in front of his wife Kaushalya Devi, who to at one for her husband's sin commits suicide. After this incident, a pregnant Ganga Devi leaves the town and becomes a mother.
On the other hand Thakur Bhim Singh adopts his brother in law Chintamani's (Gufi Paintal) son Monty (Bhupendra Singh). As time flows Sham (Chandrachur Singh) and Ghansham (Arbaz Khan) grow and as is willed by destiny they get into a scuffle with Monty, who resultantly, is seriously injured. Seeing Monty's state Thakur Bhim Singh is furious and reaches Ganga Devi's place to seek revenge. However, before he can do so, the Thakur is flabbergasted when he learns from Ganga Devi that one of them is his son. Bhim Singh is stunned.
Do Sham Ghansham find out that they are not blood brothers? Does Thakur Bhim Singh succeed in taking away his son from Ganga Devi.