宣統三年,偏僻小山村的窮孩子來喜見到本村大太監小德張“衣錦還鄉”,心生羨慕。盡管母親(歸亞蕾 飾)不忍,卻還是在父親(林正英 飾)的勸說下對兒子進行凈身送入宮中,以求全家得以溫飽。成年後的來喜(莫少聰 飾)並沒有如預期壹樣豐衣足食,不久民國推翻了滿清,宮內的太監都不能留下。來喜來到戲班拜班主(洪金寶 飾)為師學藝,並且重逢了幼時的好友招弟(溫碧霞 飾),招弟誤認他是革命黨人想以身相許,在知道來喜太監的身份後招弟落寞離去。來喜為逃避軍閥追蹤重新混入紫禁城,得到丁公公(午馬 飾)照顧,經過壹系列政治鬥爭後來喜與丁公公又被驅逐到了宮外,此時懷著身孕的招弟又出現在來喜面前。好多年過去了,當來喜以為能夠擁有幸福的時候,招弟的革命黨丈夫(劉德華 飾)卻又出現了,而此時丁公公帶著對皇帝最後的愚忠,妄圖讓來喜和自己前往日本領事館照顧溥儀,來喜該何去何從?
本片改編自太監孫耀庭的壹部半自傳體小說,是張之亮從制片轉為導演的處女作,也是莫少聰提名金馬獎最佳男主角獎的代表作。