元元公主(楊千嬅飾)是皇上盼望已久的女兒,可是公主天生就有一股十分難聞的體臭,多位御醫也無法解決這個難題。從小就沒有人願意跟公主在一起。眼看公主到了婚嫁的年齡,皇帝宣布如果誰能成功治愈公主的病便把公主許配之。沈夢溪(任賢齊飾)是一名窮花匠,努力與其他神醫爭取,但首御醫(鐘鎮濤飾)為了讓他的徒弟勝出,刁難夢溪之餘還用手段使他落敗。他準許繼續研究新藥幫助公主。
他偶遇了賣魚少女含香(楊千嬅飾),她身上也有一股同樣的味道,含香也願意幫他做試驗。屢次失敗後,兩人踏上了尋找花香香料的旅途,感情俱增。
限期已到,夢溪到了皇宮,見了公主,才知道原來公主是他最熟悉的女孩。