In the year 1840, a girl named Amiran (Seema Sathyu) is kidnapped from her family in Faizabad, Oudh by their neighbour, Dilawar Khan (Satish Shah), and sold to Madam Khanum Jaan (Shaukat Kaifi) who owns a brothel in Lucknow where she trains courtesans (tawaif). Amiran, renamed Umrao Jaan, learns to read, write, dance, and sing. She is a cultured woman trained to captivate men of wealth and taste.
A grown-up Umrao Jaan (Rekha) catches the eye of Nawab Sultan (Farooq Shaikh), and the two fall in love. But Nawab must marry to please his family, and Umrao's heart is broken.
She meets a dashing bandit chieftain, Faiz Ali (Raj Babbar), who woos and wins her. She flees with him, hoping to marry him and leave the world of the courtesan far behind. But her lover is killed by local police and she is left alone, with no choice but to return to her old life.
Soon, the British attack the city of Lucknow and the residents are forced to flee. Umrao's party of refugees stops in a small village near Lucknow. The residents ask the courtesan to sing and dance. Umrao, looking about her, realizes that this is her town, Faizabad, the place from which she was kidnapped.
She sings the song, "Yeh kya jagah hai doston?" (What kind of place is this, friends?) a veiled reference to her feelings of dismay at being treated like a pariah entertainer by her own people. Afterwards, she meets her mother and younger brother, who had thought that she was dead. Her mother would be happy to welcome her back into the family, but her brother forbids it — she is tainted by her profession and must not return to embarrass them.
At the end of the film, Umrao returns to the now-deserted and looted brothel in Lucknow and finds she is left alone, with nothing but her profession and her poetry.