北宋年間,太平盛世令開封府漸成虛設,尾隨包拯(黃秋生)的展昭(劉德華)因整日無所事事懷念起過去雲遊四海的俠義生活,幻想有天重新披上黑衣。某次化身做他人的行動中,展昭遇上錦毛鼠白玉堂(張柏芝),被其言行舉止深深吸引。 五鼠大鬧開封府,奪去展昭與襄陽王之妹(李冰冰)的訂婚信物,展昭奉皇命追至五鼠老窩陷空島勸降,吸引了情竇初開的原本是女兒身的白玉堂,然而因展昭身負御賜婚約,兩情沒能相悅,可是他們的緣分並沒到此終止。