一代大侠李慕白(周润发饰)有退出江湖之意,托付红颜知己俞秀莲(杨紫琼饰)将青冥剑转交给贝勒爷(郎雄饰)收藏,不料当夜遭玉娇龙(章子怡)窃取。俞秀莲暗中查访也大约知道是玉府小姐玉蛟龙所为,她想办法迫使玉蛟龙归还宝剑,免伤和气。但李慕白发现了害死师傅的碧眼狐狸(郑佩佩饰)的踪迹,她隐匿于玉府并收玉蛟龙为弟子。而玉蛟龙欲以青冥剑来斩断阻碍罗小虎(张震饰)的枷锁,他们私定终身。关系变得错综复杂,俞秀莲和李慕白爱惜玉蛟龙人才难得,苦心引导,但玉蛟龙却使性任气不听劝阻……
唐大中十三年,民间涌现不少反昏君反腐官的组织,其中以打着“杀富济贫推翻朝廷”旗号的飞刀门的势力最大。飞刀门总部设在靠近都城长安的奉天县境内,为保长安安全,朝廷下令奉天县府将飞刀门成员悉数剿灭。 奉天县两大捕头刘捕头(刘德华)与金捕头(金城武)收到限期缉拿飞刀门新任帮主归案的命令。因怀疑牡丹坊的舞妓小妹(章子怡)是飞刀门前帮主的女儿,刘捕头设计将她拿下押入天牢,后又与金捕头再度设下圈套令金捕头化身义士将她救出,想骗取她的信任查出飞刀门的巢穴,但他不知的是,除了在公务上与金捕头和小妹打交道外,私情上也会与他们有番纠缠。