作家巴里(约翰尼·德普 Johnny Depp饰)正处于灵感枯竭期。他每天经过公园的时候,都会看见里面有一帮小孩在嬉戏。他停下脚步来观察,原来孩子在玩海盗游戏,孩子们还热情邀请他加入海盗队伍。巴里成了一个大孩子,在队伍中虽然高出一个头,却玩得不亦乐乎——道具、角色、各色情节、公园变成一个快乐的幻想世界。这段经历,成了巴里创作《小飞侠》的灵感源泉。
孩子的母亲(凯特·温丝莱特 Kate Winslet 饰)是一个寡妇,她也受到了这里快乐的气氛感染。巴里和他们相处就像一家人一样,享受着单纯的快乐,然而也难免招人闲话。而巴里的妻子,也终究只属于现实世界,走不尽巴里的内心。
《小飞侠》的完稿上演,遭到了众人的质疑。然而演出后当地的反响,证明了巴里的坚持是正确的。但这时,巴里和孩子们正面临着一场来自现实世界的巨大打击,他们善良的母亲,正在离他们远去……。故事发生在1970年代。某日黄昏,罗二叔的女儿碧桃(迟蓬 饰)赶着一辆破车前往罗家村,车上坐着被打倒的原地委书记谷铁铮(位北原 饰)以及华侨出身的戈弋(米迪奇 饰)。戈弋怀抱儿子沉香,妻子不久前死于干校。在碧桃家虽有全家人照顾,但带一个吃奶的孩子毕竟很不方便。戈弋无奈写信向亲戚求助帮助抚养儿子,不料此举招来牢狱之灾。碧桃出于同情竭力相帮,被恋人玉生(徐为平 饰)发觉。公社把工农兵大学生名额给了根红苗正的碧桃和玉生,在填表时碧桃遭革委会徐主任调戏,她愤然回家。不久村里传出她和戈弋之间莫须有的绯闻,罗二叔(贾六 饰)自感老脸没处撂,一气之下将她赶出家门。碧桃忍辱负重,决心把沉香抚养大......。