十五世纪法国路易十一统治时的巴黎。“愚人节”那天,巴黎的民众聚集在圣母院前欢庆节日,吉普赛少女爱斯梅拉达在河滩广场上表演歌舞吸引了众人的目光。圣母院副主教克洛德为其美貌所打动,产生了邪念。圣母院的敲钟人卡西莫多是个弃儿,长得其丑无比,又聋又哑,被克洛德收为义子。是夜,克洛德指使卡西莫多劫持爱斯梅拉达,被路过巡逻的王室弓箭队队长法比救下,少女由此对法比一见倾心。
卡西莫多因劫持爱斯梅拉达在广场被捆绑鞭笞,口渴难忍,只有爱斯梅拉达走上前去送水给他喝,敲钟人感激不尽。克洛德趁爱斯梅拉达和法比幽会的晚上刺伤了弓箭队长,并嫁祸于少女,爱斯梅拉达被判死刑,克洛德在狱中对其威逼利诱,遭到拒绝。
行刑之日,卡西莫多在刑场救下少女,把她安置在圣母院的密室避难,对她进行了无微不至的照顾。克洛德得知此事,诬陷爱斯梅拉达为女巫,鼓动教会不顾避难权强行将其逮捕。巴黎下层民众攻打圣母院试图救出少女。卡西莫多因聋哑无法弄清事情缘由,误把平民当作官兵,从钟楼上推下巨石,浇下滚烫的铅水,平民死伤无数。
克洛德趁乱把爱斯梅拉达带走,欲说服少女委身于他,遭到拒绝后恼羞成怒,把少女交给了追捕而来的官兵。与此同时,长期呆在河滩广场边老鼠洞里的隐修女因爱斯梅拉达怀中掉下的绣花鞋认出她是自己失散多年的女儿,她拼死相救,未果而亡,爱斯梅拉达被官兵强行带走。
爱斯梅拉达被施以绞刑,卡西莫多因为没能保护好少女而感到沮丧,这时他看到克洛德站在圣母院楼顶对着绞刑架上的爱斯梅拉达发出狰狞的狂笑,他似乎明白了一切,愤怒之下把副主教推下教堂。卡西莫多来到墓地抱着少女的尸体死去。