1989年香港犯罪動作電影,吳宇森自編自導,周潤發,李修賢,葉倩文,朱江,曾江,成奎安主演,講述職業殺手小莊和警察李鷹從敵到友,攜手共克黑幫的故事。
職業殺手小莊有勇有謀,技術一流且富有同情心,在一次暗殺行動中幹淨利落殺死目標後遭到其手下圍攻,拉扯突圍中爲救出無辜被卷入這場槍戰的歌女珍妮而冒險重返,結果自己身中一槍,珍妮也被自己誤傷,雙眼幾近失明。小莊爲此深感愧疚,痊愈後一直在暗中觀察保護她,常常默默聽她唱歌到很晚,再安全送她回家,與之成爲了很好的朋友,只不過珍妮並不知道這個好朋友就是造成自己失明的凶手,認爲他只是一個好心人,而小莊則從此有了目標,就是掙錢送珍妮出國就醫,治好她的雙眼。
警察李鷹爲人正直極具正義感,但也因爲口直心快脾氣暴躁不受上司喜歡,在一次臥底追殺亡命之徒時,看見一名巡警被他們打死,便拔槍反擊,追殺頭目到電車之上,他滿腔憤怒,不顧對方挾持人質,依據自己的感覺果斷開槍將歹徒爆頭,卻也造成人質驚嚇過度而死,李鷹遭到人質家屬的投訴。他不滿警局對自己的審訊,那種情況下他的處理無疑是最好的選擇,因爲並不知道人質有心髒病,難道等歹徒把人質殺了再開槍?同時李鷹也爲那個死去的巡警打抱不平,義憤填膺地起身就走,反正辦什麽案子都會有人投訴的,他也不在乎什麽記過處罰。
四哥馮剛來給小莊新的任務,目標是汪東源,小莊直接索要150萬報酬,說這是最後一次了,拿上照片和爲他准備好的一箱槍支緩步離開。香港沒有眼角膜,珍妮需要馬上手術否則會完全失明,小莊此次正是爲了籌錢才接的任務,他告訴珍妮自己要出去幾天,回來後就帶她去美國治療雙眼。
李鷹和搭檔曾爺受命保護參加賽龍船點睛儀式的達官顯貴,汪東源正是其中之一。小莊在海上瞄准並狙殺了汪東源,李鷹立即組織警力對大海方向進行搜索,看見了可疑的小莊,跟曾爺開船追了上去。
小莊輕松擺脫追兵,來到小島卻被黑幫追殺,通過小女孩異樣的眼神,他通過墨鏡反光發現了狙擊手,先發制人逃過一劫,可後面有更多的殺手沖他而來。沖自己微笑的小女孩受到波及而受傷,小莊不顧個人安危,抱起小女孩駕車逃離就醫,被槍聲吸引過來的李鷹坐車追趕緊隨其後。
小女孩成功得到救治,李鷹和小莊在醫院對峙,結果還是給小莊跑了,回去後受到上司的責罵,他依據對小莊的印象描述,讓畫師畫出了小莊的樣子,同時暗下決心,一定要抓住這個富有同情心很有感情的殺手。
原來是黑道老大汪海命人追殺小莊,四哥也是爲他服務,汪海擔心小莊會兜出自己所以想要殺人滅口,也省得出錢。李鷹查出幾個月前被殺的張宏偉和汪東源關系很好,很有可能也是小莊所爲,他接近珍妮希望通過她守株待兔。
小莊拿槍逼問上門的四哥到底是誰要殺自己,沒有得到答複,放下手槍查驗皮箱的現金時,四哥立即拿起小莊的槍反過來指著他的頭,小莊冷笑一聲,看見箱子裏都是白紙,他很失望,對方開槍沒有子彈,小莊迅速拿出另一把槍又指著他,率先解決其余殺手後,再次逼問誰是幕後主使,得知就是汪海,他是汪東源的侄子,當初也是他要小莊殺掉自己的叔叔,如今又要除掉小莊。小莊最終沒有殺掉四哥,絕望離開,說以後最好不要再見面了。
小莊明明有機會離開,可他不能走,因爲有珍妮,同時他也知道警察想要通過珍妮抓住自己,他設法纏住曾爺,和李鷹拔槍對峙,兩人一起在珍妮面前演戲說彼此是朋友,一個毛頭一個小寶,他們進屋聊天一個想捉一個想逃,最終還是小莊更勝一籌成功逃脫。李鷹向珍妮坦白了真相,珍妮情緒激動大哭著不願相信,李鷹盡力安撫她的情緒,說抓他也是幫他,總比被黑社會殺死好吧。
汪海又重金雇傭殺手一心要除掉小莊,小莊則在車庫埋伏等待刺殺汪海,他聽到四哥正在竭力爲自己要錢,甚至不惜下跪犧牲尊嚴,卻遭到了汪海的一再羞辱。小莊刺殺失敗開車離開,四哥追了上去,小莊不想看到自己朋友在別人面前跪著乞求,四哥說一定幫他把錢要回來,兩人重新釋懷和好如初。
珍妮打電話給小莊讓他到機場找自己去新加坡接受手術,明知是假,小莊還是決定要去,他說珍妮沒有騙過自己。機場裏借助于四哥的掩護調虎離山,小莊成功帶走珍妮,四哥則在警局受了點皮肉之苦就被放了出來。
上司對李鷹忍無可忍,說他感情用事不太理智,不讓他再接手這個案子。曾爺跟蹤四哥被人槍擊身受重傷,他忍痛追趕用盡最後的力氣。四哥自知被人跟蹤,回去後決定去幫小莊要錢,要小莊晚上在教堂等他。
曾爺用命換來的情報告訴李鷹,李鷹化悲痛爲力量,出門朝目標而去,殊不知也被黑幫跟蹤。李鷹來到四哥家中找到小莊跟珍妮,珍妮竭力阻止李鷹逮捕小莊,此時黑幫追殺人群趕到包圍了房間,二人暫時結成同盟,開始奮力殺出重圍,小莊掩護,李鷹帶領珍妮上車,三人成功逃離。
李鷹幫助小莊療傷取出子彈,二人對話惺惺相惜,小莊感歎了解他的竟然是個警察,李鷹則說他相信正義,可是沒人相信他。三人來到教堂,珍妮的雙眼視力更加模糊,就快要全部失明,小莊告訴李鷹他會回來,他一定回來,同時請李鷹幫助自己做件事,如果自己被打死就把眼角膜移植給珍妮,不行的話就把錢給她送她上飛機。
四哥拿槍挾持汪海拿到錢之後向汪海開槍,可這家夥穿了防彈衣,四哥爲了道義堅持要錢,被暴揍羞辱也不停下,終于找到機會開車逃離,跌跌撞撞來到教堂,告訴小莊把錢拿回來了,可馬上就被趕來的汪海開槍擊中,小莊幫他補了最後一槍。
小莊被激怒,決心大開殺戒,李鷹攔阻不成,便與之並肩戰鬥,背靠背不停射擊,一路殺到教堂外面,汪海小弟被屠殺殆盡,他劫持珍妮要求小莊放下槍,李鷹搞定殺手保羅也被要求放下武器,小莊看了一眼李鷹背後的一把手槍,趁他放下武器起身屙時候扔了手裏的槍,汪海見狀直接開槍射中小莊,小莊也迅速拿起李鷹的槍擊中了汪海,兩人倒地,不幸的人小莊被擊中要害,眼睛沒有保住,他和珍妮互相呼喚對方,爬著想要靠近,卻逐漸遠離,直到小莊一動不動。
警察趕到,汪海立馬投降想要警方的保護,李鷹則當著警察的面開槍殺死了汪海,給兄弟報了仇,嘴裏還念叨著毛頭。