過氣的江湖大哥下山豹(曾志偉飾),
20年前(馮德倫飾年輕豹哥)即迷戀舞廳女子(舒淇飾),
因為與九紋龍(李燦森飾)在舞廳的一場決鬥敗戰,而流亡到巴西成為大廚。
伴隨20年異鄉寂寞生活的除了這名女子的印象,還有鄧麗君的國語歌「我只在乎你」,
以及隨身煙盒裏她抽過的半支香煙。
本來他對這段情不存幻想,但患了老年癡呆症的他,回首大半生,
竟然發覺自己的過去唯一縈繞於心的,只有那一段不可忘記的愛情,
由於不想失去對這名女子的記憶,他決定返鄉。
回港後他遇見街頭少年煙仔(謝霆鋒飾),煙仔可為一個賣春少女被非禮而揮刀殺人,
也可為搏紅顏一笑而夜出偷鋼琴,但是愛情是一段接著一段,
比愛情更長久的,只有嘴上香煙的持續。
豹哥在大性大情的煙仔身上看到自己年輕時期的浪漫,遂與煙仔結識,
希望煙仔幫他找到那名令他傾慕的女子,煙仔看在金錢的份上就答應幫忙。
煙仔的母親(金燕玲飾)原來也是妓女,愛情對她來說猶如香煙般短暫,
唯一的遺憾是當初種下煙仔的那個男人臨走時,只留下半支香煙。
由於記不起煙仔父親的樣貌,自此每天都站在廟街上期待著那張似曾相識的臉孔出現。
煙仔延續了母親的渴望,盼望有一天可以尋找到那張可以永記於心的臉孔;
豹哥訴說著不可一世的陳年過往,令缺乏父愛的煙仔更生孺慕之情,儼如忘年知交。
煙仔捐棄當初為錢所做的承諾,努力幫他找尋三十年的故人,
終於他們在一處破落的舞廳找到她,豹哥本打算在見到那名女子後自殺,
來留住最愛的回憶,但當他見到她時,所問的第一句話竟是她的名字,
原來令其沈迷一生的只是一名連她姓名都不知的女子,而此刻豹哥也忘了來此的目的。
兩段濃情浪漫愛情故事,
從一把刀、一支槍、半支香煙開始,慢慢燃燒........