红河
1975年,越南。
少女阿桃(张静初饰)虽然年纪尚小,但是已经出落得亭亭玉立,还拥有着一副好嗓子,美妙的歌声深得村民们的喜爱,父亲更是把她当成是掌上明珠般疼爱,一家三口本来过着其乐融融的日子。然而在那个年代,美越战争虽已过去,伤害却仍在继续着……
阿桃的父亲曾经参与过美越战争,一天,阿桃看中了一只红色的风筝,疼爱她的父亲便买了下来,怎料在田间放风筝之际,却不幸踩中了地雷,活生生被炸死了。因为亲眼目睹了父亲的死,浑身沾满血迹的阿桃,幼小的心灵受到了极大的刺激,这样的悲惨遭遇同时也造成了她的智力障碍。
1997年,中越边境。
长大后的阿桃坐船来到了姑妈阿水(李丽珍饰)在中国经营的按摩房,做起了清洁工。阿水虽然为人势利,但是对这个侄女还是比较照顾。另一方面,天性纯真的阿桃引起了越南黑帮老大沙巴(李修贤饰)的注意,看着这个傻乎乎却单纯得接近透明的越南女孩,沙巴冰冷的心开始融化,甚至有了照顾阿桃一辈子的念头。
一次,由于警察的追捕,阿桃误闯进了街边以卡拉OK摊唱歌招揽生意的小贩阿夏(张家辉饰)的家中,甚至因为同样眉头有痣便把阿夏当成了自己的爸爸,之后两人更是开始了一场抢夺“爸爸的帽子”的战争。巧合下阿夏听到了阿桃的歌声,他发现阿桃的歌声可以为他带来不俗的生意,便和阿水达成交易,让阿桃住进了阿夏的家中。于是阿夏帮阿桃办理暂住证,教她唱“月亮代表我的心”,好让阿桃在自己的卡拉OK摊唱歌招揽生意。很快地,这位越南纯情女的歌声吸引了越来越多的听客,要求和阿桃合唱的人更是排成了长长一队。但是因为阿桃的天生丽质也招来了不少好色之徒占便宜,阿夏的心中泛起了阵阵不满,甚至大打出手……
阿夏以前的恋人小月回来了,这勾起了阿夏悲伤的往事,原来小月与阿夏原本同属一家滇剧团,随着市场经济及娱乐大片的到来,看滇剧的人越来越少,剧团不得不解散,小月嫁给了一个昆明老板就此离开了阿夏的身边。看着阿夏满脸泪水的喝着闷酒,阿桃也跟着哭了起来。当天晚上,阿桃做起了父亲被炸死的噩梦,于是躲进了阿夏的怀抱里……
这天,阿夏又把情人阿花带到了家中亲热,还把阿桃关在了房门外洗衣服,有些生气的阿桃不管不顾的冲了进去,把二人的衣服、鞋子全部扔到了大街上。阿夏发怒了,把阿桃赶了出去。然而他却没有意识到两人已经在朝夕相处中产生了依恋之情,亲情或者说是爱情。
沙巴的手下把阿桃劫走了,因为心生怜悯的沙巴想要好好的照顾阿桃,可是当身为黑社会老大的沙巴狠毒开枪的那一刻,让躲在门后的阿桃再一次受到了惊吓,沙巴在阿桃心中慈祥的形象一落千丈,于是便趁着上厕所之际逃走了。
阿桃逃走后找到了阿夏,出于怜悯或是某种难以名状的情愫在作祟,阿夏带着她来到了自己的家乡瑶寨,还参加了亲朋的婚礼,也在此时从阿水口中得知沙巴派人到处打听阿桃的下落,于是他们再一次上路了。在路上,阿夏的鞋子被河水冲走了,阿桃用平日里攒下来的钱给他买了一双崭新的皮鞋,却因此与阿夏走失,当长长的列车划过他们的眼前,当他们终于找到彼此的时候,情不自禁的两人紧紧相拥在了一起……
沙巴的人最终还是找到了阿桃,阿夏也被殴打成了重伤,当沙巴用枪指着阿夏脑袋的时候,车上被绑着的阿桃拼命的挣扎着,可是却无济于事,阿夏还是倒下了。阿桃误以为沙巴杀死了阿夏,于是拿起了沙巴放在车上的手枪,开枪替阿夏报了仇……
阿夏被警察抓走了,阿桃疯狂的追着警车,她狠狠的咬了阿夏手指头一口,这样的举动让阿夏想起了家乡瑶族恋人的结婚习俗。阿夏坐了牢,阿桃失了踪,没有人知道她去了哪里,包括阿水。这天阿夏在劳改农场仿佛又听到了阿桃美妙的歌声,随着这悠扬的声音寻去,阿夏却找不到阿桃的踪影,就在此刻,枪声响起了……