1921年,在华山脚下凤凰岭山麓的蝴蝶泉村,主人公白毛是被靠演绎皮影老腔为生的邵家班班主邵喊天在黄河岸边捡来的孩子,白毛和邵喊天的亲生儿子小华同一天来到了邵家。祖上传下来的规矩是:老腔皮影是家族传承,传男不传女、传内不传外。孩子们一天天长大了,可是作为邵喊天唯一的亲生儿子小华却一心只想上学,坚决不学老腔,使邵喊天十分伤心和愤怒;可是捡来的白毛却对老腔出奇的着迷和喜爱。白毛为了学老腔做出了许多
土匪的到来毁掉了春桃(刘晓庆饰)的新婚之夜,她和丈夫李茂(曹前明饰)失散了,只身一人流浪到北京,靠着捡破烂维生。在春桃最艰难的岁月里,是刘向高(姜文饰)一直不离不弃的陪伴和支持着她,尽管两人并没有夫妻之名,但相依为命的他们彼此之间感情十分要好。某日,春桃在街上遇见了一个蓬头垢面的乞丐,她震惊的发现,这个乞丐竟然就是李茂,春桃收留了李茂,一个两男一女的奇怪“家庭”产生了,三人艰难的维系着岌岌可危的平衡。不忍心拖累春桃,刘向高离家出走,直到这时,春桃才承认了自己内心里对于刘向高的感情,在这个节骨眼上,李茂又企图上吊自杀,扑面而来的绝望笼罩着春桃。