宣统三年,偏僻小山村的穷孩子来喜见到本村大太监小德张“衣锦还乡”,心生羡慕。尽管母亲(归亚蕾 饰)不忍,却还是在父亲(林正英 饰)的劝说下对儿子进行净身送入宫中,以求全家得以温饱。成年后的来喜(莫少聪 饰)并没有如预期一样丰衣足食,不久民国推翻了满清,宫内的太监都不能留下。来喜来到戏班拜班主(洪金宝 饰)为师学艺,并且重逢了幼时的好友招弟(温碧霞 饰),招弟误认他是革命党人想以身相许,在知道来喜太监的身份后招弟落寞离去。来喜为逃避军阀追踪重新混入紫禁城,得到丁公公(午马 饰)照顾,经过一系列政治斗争后来喜与丁公公又被驱逐到了宫外,此时怀着身孕的招弟又出现在来喜面前。好多年过去了,当来喜以为能够拥有幸福的时候,招弟的革命党丈夫(刘德华 饰)却又出现了,而此时丁公公带着对皇帝最后的愚忠,妄图让来喜和自己前往日本领事馆照顾溥仪,来喜该何去何从?
本片改编自太监孙耀庭的一部半自传体小说,是张之亮从制片转为导演的处女作,也是莫少聪提名金马奖最佳男主角奖的代表作。。民国初期,高不就为争取反袁势力到北京混混帮闯山门,却被堂主铜狮子所害,小乞丐张野鬼仗义搭救,两人结拜为兄弟。之后,两人联手挫败了袁世凯称帝的野心。。2002年7月19日,年轻男子西蒙·凯布尔(瑞恩·菲利普 Ryan Phillippe 饰)从昏迷中醒来。他在前一晚因胃痉挛被送入医院,结果却发现自己对过去两年里发生的事情全无印象,而记忆仍停留在2000年。在此期间,美丽温柔的克莱尔(莎拉·波利 Sarah Polley 饰)和自称妻子却非常冷漠的安娜(佩帕·佩拉多 Piper Perabo 饰)前来探望西蒙,两个女人的言谈举止和对过往的描述令他倍感不安。
西蒙认为自己正陷入一场阴谋之中,似乎有人正加害于他。他坚持要做一次全身检查。然而当他再次醒来时,却发现自己回到了2000年的7月3日,这次颇为诡异的时空跳跃也让西蒙切实回想起这两年间所发生的一切……。