白玉书(陈哲远 饰)是白家脚行的少把头,不久前他的父亲去世,本该在国外留学的他不得不回到家乡继承家业,替父亲承担起脚行所有脚夫的生计。这天,白玉书跟往常一样在码头上跟脚夫们一起搬运货物,身子瘦弱的他扛起包裹来非常吃力。刘叔看不得白玉书吃苦,劝说他早点把脚行卖了算了。白家脚行是旧上海码头上生意最红火的,白父也是从一个普通脚夫干起,才创下这样的基业,白父去世后,很多人眼红白家的生意,三天两头就来捣乱。白玉书不想辜负父亲的心血,不肯放弃,暗暗跟自己发誓要把脚行继续好好经营下去。白玉书干完活后坐在码头上吃饼,水里有小鲤鱼游来游去,他看着可爱,便撕了一些饼扔到了河里喂鱼。这些天,小鲤鱼吃了很多白玉书喂的东西,鲤鱼精也萌生了想上岸的想法,她不知道的是岸上有个叫金性坚(刘以豪 饰)的,专门收小妖的内丹。金性坚收小妖的内丹,也是为了救沉睡已久的夜明(古力娜扎 饰),只要有足够的妖精的内丹,夜明就能够苏醒了。白金刚(张雷 饰)是码头上有名的地痞无赖,白父去世后他便经常带着手下的流氓到白家脚行捣乱,这天他又带人来到白家脚行,手无缚鸡之力的白玉书根本不是他的对手,幸好刘叔出面拿着两块金币才把白玉刚打发走。金性坚的好友叶青春(周峻纬 饰)在上海滩经营着一家裁缝店,因为手艺好嘴又甜,深得很多贵妇人的喜欢。叶青春带着新到的开司米布料到金性坚家里拜访,说要用新布料给他做身新西装,又热情地邀请他一起吃饭逛街,都被金性坚冷淡地拒绝了。叶青春又说起自己在国外留学时候的好朋友白玉书的遭遇,可金性坚完全没听进去。被白金刚欺负的白玉书在码头上愤愤不平,为了泄愤他往河里撒了一泡尿,恰好浇在了鲤鱼精的身上。鲤鱼精气得要上岸找白玉书算账,好友鲲哥(郑龙 饰)极力劝说,鲤鱼精怎么都不听。鲤鱼精幻化成人形上了岸,又在岸边人家偷了件衣服穿上,悄悄进了白家,恰好撞到白玉书在洗澡,白玉书受到惊吓,把洗澡水都泼在了鲤鱼精身上。白玉刚又带着手下来脚行捣乱,鲤鱼精看不下去,把流氓们狠狠教训了一顿。鲤鱼精手脚麻利,身手不凡,把流氓们打得满地乱爬,白玉书看得眼睛都直了。白玉书看鲤鱼精是一个单身的女孩子,便想送她回家,可鲤鱼精怎么都不肯离开。再有最后半颗内丹,夜明就可以醒过来了,金性坚充满了期待。鲤鱼精在白家住了下来,白玉书要拜她为师学习武功,鲤鱼精爽快地答应了。在朝夕相处中,两人都对对方有了一丝说不清道不明的情意。刘叔劝白玉书好好追求鲤鱼精,可白玉书却说自己现在的情况不适合谈情说爱。鲲哥担心金性坚会对鲤鱼精不利,特地上岸来要带她回家,鲤鱼精不肯,她要留下等教会白玉书打架再回去。在鲲哥的逼问下,鲤鱼精承认自己喜欢上白玉书了。白玉书为了给鲤鱼精做顿好吃的,特地去跟刘叔去学了做饭,鲤鱼精吃得非常开心。