Hasari Pal (Om Puri) is a rural farmer who moves to Calcutta with his wife (Shabana Azmi) and three children in search of a better life. The Pals don't get off to a very good start: They are cheated out of their rent money and thrown out on the streets, and it's difficult for Hasari to find a job to support them. But the determined family refuses to give up and eventually finds its place in the poverty-stricken city.
Meanwhile, on the other end of Calcutta, Max Lowe (Patrick Swayze), a doctor disillusioned by an easy job in a Houston hospital, has arrived in search of spiritual enlightenment after the loss of a patient there. However, he encounters misfortune as soon as he arrives. After being tricked by a young prostitute, he is roughed up by thugs and left bleeding in the street without his documents and valuable possessions.
Hasari comes to Max's aid and takes the injured doctor to the "City of Joy," a slum area populated with lepers and poor people that becomes the Pals' new home and the American's home away from home. Max spends a lot of time in the neighborhood, but he doesn't want to become too involved with the residents because he is afraid of becoming emotionally attached to them. He soon, however, is coaxed into helping his new-found friends by a strong-willed Irish woman (Pauline Collins), who runs the local clinic.
Eventually, Max begins to fit in with his fellow slum-dwellers and become more optimistic. There are many around him whose lives are much worse, but they look on each day with a hope that gives new strength to the depressed doctor.