L'hisoire se passe en Inde,au 19è siècle. Paro (Aishwarya Raï) et Devdas (Shah Rukh Khan). Ils sont voisins et meilleurs amis depuis l'enfance.
Devdas part faire ses études à Londres et revient finalement au bout de 10ans (c'est à ce moment que le film débute). Paro n'a jamais cessé de penser à lui et a entretenu une flamme (symbolisant son désir) pendant tout ce temps.
Quand ils se retrouvent les enfants sont devenus adultes et leur amitié se transforme en amour. Mais malheureusement les parents de Devdas trouvent que Paro n'est pa assez bien pour leur fils. Insultée, la mère de Paro, Sumitra décide à contre coeur de marier Paro à un autre homme riche afin d'avoir un beau mariage pour sa fille.
Alors Paro se retouve mariée contre son gré à un propriétaire plus agé et Devdas noie son chagrin dans l'alcool avec son ami Chuni (Jackie Shroff) qui l'emmene chez la belle courtisane (une prostituée en fait) Chandramukhi (Madhuri Dixit).
Elle tombe amoureuse de lui mais lui la repousse car il aime toujours Paro et ne peut l'oublier, de plus Chandramukhi n'est qu'une simple courtisane...