Lorsqu'une mère célibataire est impliquée dans un meurtre, son voisin, un prof de maths talentueux, lui vient en aide tandis qu'un flic tenace se penche sur l'affaire.
En 1840, une jeune fille nommée Amiran (Bansree Mandhani), âgée de 8 ans est enlevée à sa famille par leur voisin, Dilawar Khan (Vishwajeet Pradhan) et vendue à Madam Khanum Jaan (Shabana Azmi), propriétaire d'un kotha où elle forme des courtisanes. Amiran, qu'on renomme Umrao Jaan, apprend dès lors à lire, à écrire, danser, chanter et charmer les hommes.Umrao Jaan (Aishwarya Rai), devenue adulte et célèbre dans la région pour son charme et sa finesse séduit Nawab Sultan (Abhishek Bachchan), un puissant nawab. Mais ses charmes agissent également sur un autre homme, Faiz Ali (Sunil Shetty), un bandit notoire.