漢武帝(胡兵 飾)晚年,發(fā)生了個巫蠱之禍,在這場廝殺中,衛(wèi)太子和皇后衛(wèi)子夫皆受株連。唯有皇孫劉洵存活,被衛(wèi)太子的門客孟某所救。而他用的計(jì)謀是拿自己的兒子頂替。街上,一群官兵押著一些人奔赴刑場,而此時年幼的孟玨(杜淳 飾)卻追著趕著自己的弟弟,就是因?yàn)樽约旱母赣H將弟弟代替了劉洵而眼看要被殺了。
在車上的年僅八歲的六皇子劉弗陵(陸毅 飾),不小心將自己的玩具球丟下了車,孟玨看到后撿了起來,劉弗陵要求他將球還給自己,孟玨知道就是這個男孩的父親害死了自己的弟弟。漢武帝把皇位傳給了六皇子劉弗陵,為了不讓外戚干政重蹈衛(wèi)夫子的覆轍,他賜死了劉弗陵的母妃趙婕妤(白珊 飾)。
沙漠中,夢到自己母妃死去的劉弗陵從噩夢中醒來。這次塞外之行,他們困在了沙漠里,雖然保護(hù)劉弗陵的眾人都是身懷武功,但是面對大自然的災(zāi)害而且又缺少水源的情況下,如果他們在走不出沙漠會永遠(yuǎn)留在沙漠的。保護(hù)劉弗陵的趙破奴將水壺里最后的一點(diǎn)水給了劉弗陵。
這時一陣風(fēng)暴襲來,原來是沙漠中常見的沙塵暴,幾人都被風(fēng)暴吹得七零八落的,迷迷糊糊中劉弗陵看到一個穿著綠衣的少女向自己走來,而且還唱著母妃經(jīng)常給自己唱的那首歌。心里想念母親的劉弗陵以為是自己母妃來救自己了,最后還是看清楚了此女子是個年紀(jì)和自己差不多,長相甜美的女孩。
女孩問劉弗陵叫什么名字,他回答自己叫趙陵,而女孩叫云歌。這時突然又刮來了一陣大風(fēng),云歌喊了一聲是羊角風(fēng),趕忙讓他們互相牽著手,風(fēng)刮過,等他們醒來后發(fā)現(xiàn)了一處湖泊,他們看到了水迫不及待的沖了上去喝了起來。
這時傳來了一個女子的聲音,一個帶著面具的美麗女子從水中升起,原來是無淚(范文芳 飾)城的城主。當(dāng)她看見云歌時,以為是自己曾經(jīng)那個痛恨的諾言回來了,于是她邀請了幾人到無淚城作客,也順便躲避風(fēng)暴。無淚城里,云歌和劉弗陵見到了前來表演的孟玨。
無淚城城主為了劫走云歌,故意將跟隨身邊保護(hù)他們的趙破奴灌醉,趁機(jī)擄走了云歌。原來很早以前,城主和愛永很是恩愛,但是有一天他們在沙漠里救下了一個少女諾言,而最后深愛自己的愛永卻喜歡上了諾言,最后不得已要射殺諾言的城主卻誤殺了愛永,她將愛永制作成了石像,這樣就可以永遠(yuǎn)陪著她了。
無淚城城主也準(zhǔn)備將云歌沉入石灰池,雖然她不是諾言,但是跟她長的一模一樣,她把對諾言的仇恨轉(zhuǎn)移到了云歌的身上。劉弗陵和趙破奴以及孟玨最后成功的營救了云歌,可是城主卻在倒塌的房子里跟已經(jīng)是石像的愛永,永遠(yuǎn)的一起了。
幾人離開無淚城后,孟玨告訴了他們自己叫求生,同時諷刺了老皇帝的昏庸無能,只知道打仗不顧百姓的生活,已經(jīng)是皇帝的劉弗陵表示以后絕對會讓百姓過上好日子。最后云歌收到了哥哥的來信,準(zhǔn)備離開劉弗陵,但是他們?nèi)说墓适虏艅傞_始。