Vijay Pal Singh (Amitabh Bachchan) is a disgraced Merchant Navy captain who is branded a coward, humiliated by society and disowned by his parents for abandoning his ship risking the lives of over 300 passengers (perhaps inspired by Joseph Conrad's Lord Jim). Feeling guilty over his cowardice and with low self-esteem, he starts working as a coal miner to forget his past.
He meets and becomes friends with Ravi (Shashi Kapoor), an engineer in charge of the mine. He also makes an enemy in another co-worker named Mangal (Shatrughan Sinha) who is an escaped criminal working in the mine to avoid the police. Vijay's past comes to haunt him as he sees Mangal causing trouble for the coal miners and angry over his cowardice over what happened when he was in the navy, Vijay tries to defend the miners against Mangal.
Ravi eventually gets Vijay and Mangal to be friends after circumstances surrounding the mine force Mangal to change himself. The one person who supports Vijay him in his life is Dr Sudha Sen (Raakhee Gulzar) who tries to make Vijay face up to his past and move on. Ravi and Mangal also get involved in their own romances with Anita (Parveen Babi) and Channo (Neetu Singh), respectively.
When Seth Dhanraj (Prem Chopra) makes life difficult for the coal miners by giving them poor equipment, less than sufficient medical supplies and lack of facilities, Vijay, Ravi and Mangal come together to fight for justice against Dhanraj when water floods the mines endangering the lives of hundreds of workers including Mangal's. Can the lives of the miners be saved?