1930年代,乡村少年唐水生来到上海投靠六叔(李雪健),在他的引荐下,做了歌舞皇后小金宝(巩俐)的贴身佣人。小金宝是上海滩一霸唐老爷(李保田)的女人,但与其手下宋二爷有染,而宋二爷已经觊觎唐老爷的位子良久。 六叔的猝死使唐老爷心生警觉,带着小金宝、水生等人来到一个只有寡 妇翠花和她一双儿女在的小岛避难,并下令对上岛的生熟面孔格杀无论。小金宝在同翠花的相处中对生活有了另一番理解,渐渐对唐老爷的残忍非常不满,然而她的命运亦掌控在唐老爷手中。
影片讲述了牛山县衙捕快沈梦星一次押解钦犯刘大牛的途中,经历了各种奇遇。因为营救民女婉儿姑娘,龙门寨与龙门县知县穆元峰爆发了激烈的冲突,不得已,龙门寨暂时解散。沈梦星孤身一人回到牛山县,却被从前上司汪捕头设计捉拿。原来朝廷通缉的榜文到处都是,沈梦星已经不可能回到牛山县继续当捕快。当着刘知县和骆师爷的面,沈梦星为自己据理力争,阐述自己上龙门寨入伙的苦衷,然而因为骆师爷和汪捕头的从中挑拨,刘知县最后还是判沈梦星死刑。沈梦星看着热闹的出嫁队伍,孤身一人背着行李,提着长剑转身离开牛山县,此后继续浪迹天涯,行侠仗义。然而他的内心,却始终不曾忘记刘莹莹。