北宋宣和年間,朝廷大興花石綱。朝中大臣多有進諫反對,童貫、蔡京卻執意繼續舉辦杭州製造局。雙方互不相讓,有多名大臣被加害。
宋徽宗趙佶一心要畫成一幅《江山美人圖》,睡夢中見到江南有一入畫美女,醒來後久入不忘,於是叫赴江南徵調花石綱的童貫細心查訪。睦州地方官員張榜征選美女,鄉間女子紛紛突擊結婚。碣村方臘也準備迎娶有史妹情誼的方玉兒。童貫為得璿璣石,屠殺睦州。
趙佶扮成太監,在宮中偶然遇見恢復美貌的方玉兒,認定她就是自己夢中入畫之人。方玉兒以為趙佶是太監小端子,與其訴說內心的話。已故哲宗皇帝的孟皇后也就是皇嫂暗戀趙佶,對趙佶鍾情方玉兒心懷不滿,幾次加害方玉兒,都被方玉兒躲過。方玉兒知道趙佶真實身份,對其十分冷談。宮女蓮花刺殺趙佶未遂,被處死。趙佶對方玉兒更加用情,但方玉兒不為所動,趙佶細問原由,方玉兒控訴童貫在碣村的所作所為。趙佶對方玉兒的話十分震驚,但半信半疑,更因方玉兒不能屬情於自己,悶悶不樂,李師師幾番安慰,勸他耐心等待,慢慢感化。在李師師支持下,作為杭州人的周邦彥也對江南百姓受花石綱之害一事,犯顏直諫。趙佶感到事態嚴重,對童貫等加以盤問,但童貫和蔡京堅稱我化石綱受到百姓歡迎,並不曾為害江南,說睦州青溪縣碣村被屠一事更是虛構。孟皇后暗中告訴童貫說,方玉兒已經在皇上那裏告狀,事態將對他不利,叫他早作防備,想法掩蓋真情。
趙佶決心帶方玉兒一同到江南,一邊查訪碣村被屠一事的真偽,一邊遊歷江南山水,為自己作畫提供體驗。童貫怕趙佶發現真情,設置重重障礙物,又恨方玉兒告自己的狀,設計加害方玉兒。一路上趙佶假扮趙公子,帶著方玉兒,歷盡曲折和危險。其間,方玉兒發現了趙佶善良和感情豐富的一面,對他的印象也發生了變化。在碣村,經歷了一場生死之後,趙佶和方玉兒互相救助,並發現了真實情況。趙佶斷定了方玉兒所言屬實,對單幹貫失去信任。後來趙佶被方臘等人扣押,方玉兒挺身相救,使趙佶脫離險境,方玉兒和方臘之間感情疏離。方玉兒開始對趙佶產生了好感但她不願意再回到宮中。趙佶一人倉皇離去但對自己不能帶方玉兒一同回去頗有愧疚。
趙佶回到京城,思念方玉兒,命人尋找。得知方玉兒暫時棲身梁山,遂派大軍圍攻梁山。方玉兒為避免戰事和無傷及無辜人命,毅然下山,回到京城,趙佶十分禮遇,孟皇后設計下毒,結果卻毒死了另一宮女。趙佶得知孟皇后竟然要置方玉兒死地,十分震怒,斥責其為人歹毒。孟皇后訴說自對趙佶的感情,趙佶不聽,將其貶入冷宮。方玉兒對趙佶沒有處置童貫十分失望。要求離開皇宮,回到睦州,同時也勸說方臘不要蠻幹。趙佶無奈只好放行,監行前作畫,但終於罷筆。之後,趙佶對童貫蔡京十分冷淡,罷去兩人官職,叫他們在家中閉門思過。趙佶反思,下旨去江南花石綱,裁杭州製造局,稍後又下《罪已詔》,但對方玉兒思念不斷,《江山美人圖》終不能成。
這天,趙佶在宮中池邊賞花,已經回宮的方玉兒突然出現,趙佶十分意外,方玉兒說你如果還是那個小端子或是那個趙公子該多好!