1966年,从新加坡返回香港想忘掉过去的周慕云(梁朝伟 饰)住进东方酒店的、同他曾经熟悉的数字2046只差一号的2047号房,开始了他的卖文生涯。眼前、曾经在他身边出现过的一个个女人(章子怡、王菲、张曼玉、刘嘉玲等 饰)经过他大脑的过影后,令他对时空产生疑惑,不但忘不了过去,一幕幕往事反而更加挥之不去。 为了与过去作更好的告别,他将生活的点点滴滴化为文字,写下小说《2046》(说只要搭上了前往2046的列车,人们就可以找回失去的记忆)。
职业策划人夏至(小沈阳饰)信口开河编了一个关于绑架的故事,却误打误撞说中事实,于是招来犯罪团伙追杀,连他暗恋的餐吧老板娘印小雪(陈意涵饰)都被卷入其中,从而引发了一系列扑朔迷离而又妙趣横生的故事。